8

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

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

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

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

我找到的所有解决方案都没有帮助。有任何想法吗?

4

3 回答 3

5

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

于 2014-12-18T13:05:43.443 回答
3

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

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

简单、容易、良好和实现。

我希望这对你有所帮助。

于 2012-11-22T14:27:47.213 回答
3

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

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

import multiprocessing

if __name__ == '__main__':
    multiprocessing.freeze_support()
于 2015-06-28T07:44:51.917 回答