我正在使用 pyinstaller(v3.2.1) 构建一个 –onefile windows exe。我在我的 python (v3.5.3) 脚本中使用多处理。我已经为 Windows 实施了下面提到的解决方法。
从逻辑上讲,除非满足要求/条件并且按预期工作,否则我的 python 脚本不会跨越多个进程。我遇到的问题是,每当涉及多个进程时,一切似乎都很好。但是,如果不涉及多进程,下面的“致命:无法执行脚本”对话框会闪烁几秒钟或更长时间,然后消失,仍然返回预期的结果。
是否有任何我遗漏的东西导致致命错误对话框出现和消失?我怀疑 --- 之后的 if __name__ == __main__ :
multiprocessing.freeze()
语句可能会导致未创建新进程时出现问题!
原文由 Ram 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了同样的问题,并遵循 Eugene Chabanov 的建议使用没有任何特殊字符的 pyinstaller 只是
pyinstaller yourapp.py
,当 exe 准备好时我使用 Windows CMD 打开它并且它卡在 CMD 中并出现错误:然后这次我再次运行了 pyinstaller
pyinstaller -F --hidden-import "babel.numbers" test.py
它运行得很漂亮。尝试查看您遇到的错误,如果是“ModuleNotFoundError”,则只需运行 pyinstaller 添加
--hidden-import "missing_module_name"
。我希望它有所帮助。
这些人因帮助我而值得称赞:
–hidden-import “missing_module_name” - 先生
在没有窗口的情况下运行 - Eugene Chabanov