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



我最近在一个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

非常感谢g.d.d.c我所要做的就是
导入一个额外的方法
并添加一个额外的命令
现在的代码如下:

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

最新更新