Pyinstaller - “致命错误!无法执行脚本”使用多处理时.freeze_support

问题描述:

我使用pyinstaller(v3.2.1)来建立一个--onefile的Windows EXE。我在我的python(v3.5.3)脚本中使用多处理。我已经实现了下面提到的Windows解决方法。Pyinstaller - “致命错误!无法执行脚本”使用多处理时.freeze_support

Recipe Multiprocessing

从逻辑上讲,除非要求/条件得到满足,并正按预期我的Python脚本不跨越多个过程。我遇到的问题是,无论何时涉及多个进程,一切似乎都很好。 但万一,如果多进程没有调用,下面的“致命:无法执行脚本”对话框会闪烁几秒或更长时间,然后消失仍然返回预期的结果。

enter image description here

有什么我失踪是导致致命的错误对话框出现和消失?我怀疑在if __name__ == __main__ :之后的multiprocessing.freeze()声明可能在未创建新进程时导致问题!

+0

更新:当在pyinstaller中启用控制台时,此错误不显示,一切似乎都很好。但我只是想摆脱控制台,没有任何目的的服务器 – Ram

此错误通常与从目录请求某些数据并且目录未内置到exe中的脚本相关联。

如果您的脚本具有某种来自某处的数据,请确保源文件夹中的数据文件也在冻结的应用程序中。

将数据文件添加到冰冻的应用程序,看到http://pyinstaller.readthedocs.io/en/latest/spec-files.html#adding-files-to-the-bundle

尝试运行以管理员。我有同样的问题,因为我想在“程序文件”中创建一些文件。