使用 multiprocessing.Process 创建的程序打包成 .exe 后不能正常运行

 1):确保使用 if __name__ == "__main__"

multiprocessing 模块在 Windows 平台上依赖于这个保护机制。如果没有正确使用,可能会导致子进程重新执行整个脚本,导致无限递归。

2):当打包使用 multiprocessing 模块的应用时,您需要在入口点调用 multiprocessing.freeze_support()

这是为了解绑 multiprocessing 的运行时支持功能,使得多进程可以顺利运行。

 
 

 3):修改 .spec 文件的 hiddenimports

多进程打包时,某些库或模块可能需要显式地包含在 hiddenimports 中。

 

posted @ 2024-09-17 19:50  小白成长记-yan  阅读(128)  评论(0)    收藏  举报