Pyinstaller - 使用 multiprocessing.freeze_support 时出现“致命错误!无法执行脚本”

新手上路,请多包涵

我正在使用 pyinstaller(v3.2.1) 构建一个 –onefile windows exe。我在我的 python (v3.5.3) 脚本中使用多处理。我已经为 Windows 实施了下面提到的解决方法。

配方多重处理

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

在此处输入图像描述

是否有任何我遗漏的东西导致致命错误对话框出现和消失?我怀疑 --- 之后的 if __name__ == __main__ : multiprocessing.freeze() 语句可能会导致未创建新进程时出现问题!

原文由 Ram 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

我遇到了同样的问题,并遵循 Eugene Chabanov 的建议使用没有任何特殊字符的 pyinstaller 只是 pyinstaller yourapp.py ,当 exe 准备好时我使用 Windows CMD 打开它并且它卡在 CMD 中并出现错误:

 ModuleNotFoundError: No module named 'babel.numbers'

然后这次我再次运行了 pyinstaller pyinstaller -F --hidden-import "babel.numbers" test.py 它运行得很漂亮。

尝试查看您遇到的错误,如果是“ModuleNotFoundError”,则只需运行 pyinstaller 添加 --hidden-import "missing_module_name"

我希望它有所帮助。

这些人因帮助我而值得称赞:

–hidden-import “missing_module_name” - 先生

在没有窗口的情况下运行 - Eugene Chabanov

原文由 Zishe Schnitzler 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题