Windows下,当代码中引入multiprocessing模块并使用pyinstaller/py2exe 打包时,遇到不断开exe的"死锁" 状态。
最终被迫注销才能恢复正常....
原因:
windows下multiprocessing模块设置有问题,在linux平台是没这个问题的。
解决方法:
对于"--onedir mode", 添加"multiprocessing.freeze_support()”。如果你是"--onefile" mode, 那就不适用了...
用法:
from multiprocessing import freeze_support
if __name__=="__main__":
freeze_support() ##这个务必放在第一
main()
详细解释:
https://stackoverflow.com/questions/32672596/pyinstaller-loads-script-multiple-times
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.freeze_support