内容提要
PyInstaller打包Python程序时遇到错误,缺少预编译的引导程序。解决方法是将PyInstaller文件或目录添加到Windows Defender的排除列表中,重新安装PyInstaller。再次编译时可能会出现另一个错误,解决方法是禁用Windows Defender的实时保护功能。
延伸解读
误报根源:Defender 删除关键文件
文章指出,PyInstaller 报错“缺少预编译引导程序”的直接原因是 Windows Defender 将 bootloader 目录下的 runw.exe 等文件误判为病毒并删除。这解释了为何在指定路径下找不到该文件。因此,问题并非 PyInstaller 安装不完整,而是安全软件干扰。
排除列表:预防性解决步骤
作者建议将 PyInstaller 相关文件或目录加入 Windows Defender 排除列表,并给出了详细操作步骤。这能防止 Defender 再次误删文件,确保打包过程不受干扰。但需注意,排除后这些文件将不再被扫描,若来源不可靠可能带来风险。
重装后的新错误与临时方案
重新安装 PyInstaller 后,编译时可能遇到 WinError 225,提示文件包含病毒。文章提供的解决方法是暂时禁用 Windows Defender 的实时保护。这虽能绕过问题,但会降低系统安全性,建议仅在打包时短时关闭,完成后立即恢复。
Q&A
使用 PyInstaller 打包 Python 程序时遇到什么错误?
可能会遇到缺少预编译的引导程序的错误。
如何解决 PyInstaller 缺少引导程序的问题?
将 PyInstaller 的相关文件或目录添加到 Windows Defender 的排除列表中。
添加 Windows Defender 排除列表的步骤是什么?
打开 Windows Defender 安全中心,选择病毒和威胁防护,管理设置,添加排除项,选择文件或文件夹。
重新安装 PyInstaller 时可能遇到什么问题?
可能会遇到文件被误报为病毒的错误。
如何处理编译时提示文件包含病毒的错误?
可以尝试禁用 Windows Defender 的实时保护功能,但需注意安全风险。
禁用 Windows Defender 实时保护有什么风险?
禁用期间,计算机可能会更容易受到恶意软件的攻击。