
多处理!
我尝试了一些更简单的python程序,并将它们打包在一起。因此,我的方法不是问题,而是代码。再想一想,在项目中打包代码肯定有些不寻常或困难。嗯,也许是线程?
我有几个并行运行的线程,它们是多处理线程。谷歌搜索后,我发现了这个魔术。
您只需在调用该函数
multiprocessing.freeze_support()之后
if __name__ =="__main__"和之前直接粘贴这条线即可
main()。
if __name__ == '__main__': # Pyinstaller fix multiprocessing.freeze_support() main()
似乎开发多处理模块的人必须包含一个hack以允许冻结包装(py2exe,pyinstaller等)。似乎很奇怪,它没有更平稳地包含在内。如果您保留该
freeze_support()调用,即使您不是从打包的代码(而不是标准python文件)运行时,该调用仍然有效。
无论如何,如果您要冻结/打包代码,并且似乎一遍又一遍地执行自己,请检查您是否正在使用多处理。一个简单的谷歌“ multiprocessing
pyinstaller”给出了答案。
仅供参考,这仅适用于
--onedir模式,
--onefile模式是一个不同的故事,Windows不支持。您必须挖掘更多才能解决该问题。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)