繁体   English   中英

使用 Python 多处理运行 a.exe 文件时出错

[英]Error when running a .exe file using Python multiprocessing

我最近在我的 python 项目之一中涉足了multiprocessing

我会在我的终端中运行我的脚本,一切都会完美运行。 但是,当我使用pyinstaller.py脚本转换为.exe时,它不再起作用了。

我已将其缩小到Manager()方法的问题。

考虑以下代码:

from multiprocessing import Manager

if __name__ == '__main__':
    print("Starting")
    manager = Manager()
    print("Worked")

将脚本作为.py文件运行输出:
> Starting
> Worked

转换为.exe后,脚本输出连续Starting
> Starting
> Starting
> Starting
etc...

如果有任何帮助,我在对正在运行的代码执行键盘中断后设法抓住了这个错误代码

如果你们遇到同样的问题,或者知道如何解决这个问题,请告诉我。 周末愉快<3

非常感谢gddc我所要做的就是
导入额外的方法
并添加一个额外的命令
代码现在看起来像这样:

from multiprocessing import Manager, freeze_support

if __name__ == '__main__':
    freeze_support()
    print("Starting")
    manager = Manager()
    print("Worked")

<kite.com/python/docs/multiprocessing.freeze_support>

问题是...pyinstaller 有很多问题。 事实上,大多数用于将.py文件转换为.exe的模块都可以。 老实说,我真的不认为这是多处理的问题,但它可能是。 我建议也许尝试其他模块将.py转换为.exe ,例如cx_freezeauto_py_to_exe

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM