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

时间:2012-11-22 13:44:18

标签: python windows multiprocessing py2exe

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

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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

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

我希望这对你有所帮助。

答案 1 :(得分:3)

将Python脚本打包到可执行文件中以便在Windows上使用时,需要调用multiprocessing.freeze_support()。在实际调用if __name__ == '__main__':

之前,此调用应该在main()之后

答案 2 :(得分:3)

以下是a great link,它解释了如何冻结多处理程序以使其与py2exe一起使用:

即,您需要在致电main之后立即致电multiprocessing.freeze_support()

import multiprocessing

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