首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >pyinstaller 打包多线程程序后,运行会出现多个程序主界面

pyinstaller 打包多线程程序后,运行会出现多个程序主界面

作者头像
云未归来
发布2025-08-01 08:22:12
发布2025-08-01 08:22:12
11000
代码可运行
举报
运行总次数:0
代码可运行

pyinstaller 打包python 多线程程序后,程序执行的时候主线程中再起子线程,这时候系统会重新另外新打开一个程序主界面。通过搜索问题答案,应该是使用 pyinstaller -F 时把程序打包成一个单文件的可执行程序,程序使用多线程原因造成的。

解决方法官网也给出了方案,就是使用 multiprocessing 模块在main 方法前面调用 multiprocessing.freeze_support()

代码语言:javascript
代码运行次数:0
运行
复制
from multiprocessing import Process, freeze_support
​
def f():
    print('hello world!')
​
if __name__ == '__main__':
    freeze_support()
    Process(target=f).start()

注意这个 freeze_support只需要在程序启动时候调用一次就行了,不需要反复调用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档