繁体   English   中英

具有多处理功能的py2exe无法运行进程

[英]py2exe with multiprocessing fails to run the processes

我在Windows 7上使用Python 2.6,我正在尝试使用多进程:

p = Process(target=f, args=(SOME_ARGS))
p.start()
p.join()

我从CMD运行代码(使用解释器)一切正常,但在我用py2exe创建一个exe文件后,进程的执行失败,出现以下错误:

错误:没有这样的选项:--multiprocessing-fork

我发现的所有解决方案都无济于事。 有任何想法吗?

你知道你使用的是2008年的应用吗? (py2exe),python是在不断实现,然后给出py2exe的问题,我可以给你一个更好的解决方案......

你可以使用cxfreeze: http ://cx-freeze.sourceforge.net/

简单,简单,优秀,实现。

我希望这对你有所帮助。

将Python脚本打包成可执行文件以便在Windows上使用时,需要调用multiprocessing.freeze_support() 这个调用应该在if __name__ == '__main__':之后if __name__ == '__main__':在实际调用main()

这是一个很棒的链接 ,解释了如何冻结多处理程序以使其与py2exe一起使用:

也就是说,您需要在调用main之后立即调用multiprocessing.freeze_support()

import multiprocessing

if __name__ == '__main__':
    multiprocessing.freeze_support()

暂无
暂无

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

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