我在 Windows 7 上使用 Python 2.6,我正在尝试使用多进程:
p = Process(target=f, args=(SOME_ARGS))
p.start()
p.join()
虽然我从 CMD 运行代码(使用解释器)一切正常,但是在我使用 py2exe 创建 exe 文件后,进程的执行失败并出现以下错误:
错误:没有这样的选项:--multiprocessing-fork
我找到的所有解决方案都没有帮助。有任何想法吗?
我在 Windows 7 上使用 Python 2.6,我正在尝试使用多进程:
p = Process(target=f, args=(SOME_ARGS))
p.start()
p.join()
虽然我从 CMD 运行代码(使用解释器)一切正常,但是在我使用 py2exe 创建 exe 文件后,进程的执行失败并出现以下错误:
错误:没有这样的选项:--multiprocessing-fork
我找到的所有解决方案都没有帮助。有任何想法吗?
multiprocessing.freeze_support()
在将 Python 脚本打包成可执行文件以在 Windows 上使用时,您需要调用。这个电话应该if __name__ == '__main__':
在实际调用之前main()
您知道您使用的是 2008 年的应用程序吗?(py2exe),python在不断的实现,然后py2exe出现问题,我可以给你一个更好的解决方案...
您可以使用 cxfreeze:http ://cx-freeze.sourceforge.net/
简单、容易、良好和实现。
我希望这对你有所帮助。
这是一个很好的链接,它解释了如何冻结您的多处理程序以使其与 py2exe 一起工作:
也就是说,您需要在multiprocessing.freeze_support()
调用 main 之后立即调用:
import multiprocessing
if __name__ == '__main__':
multiprocessing.freeze_support()