【python】tkinter使用多进程打包成exe后multiprocessing无法关闭对应进程

这是由于multiprocessing模块在Windows操作系统下使用fork方法创建子进程时会导致打包成exe后无法正常运行的问题。

可以尝试使用freeze_support函数来解决这个问题。freeze_support函数是在Windows操作系统下用于支持multiprocessing模块的函数。

下面是一个示例代码:

python 复制代码
import multiprocessing
from multiprocessing import Pool, freeze_support

def worker():
    print('Worker')

if __name__ == '__main__':
    freeze_support()
    p = Pool(4)
    p.apply_async(worker)
    p.close()
    p.join()

在代码的开头,我们导入了freeze_support函数。然后,我们在if name == 'main':条件下调用了freeze_support函数。这样,在Windows操作系统下打包成exe后,multiprocessing模块就能够正常运行了。

注意,freeze_support函数只需要在Windows操作系统下调用,对其他操作系统没有影响。所以,你可以在代码中加入一个判断,只在Windows操作系统下调用freeze_support函数。

相关推荐
段一凡-华北理工大学4 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
深蓝AI4 小时前
ContextVar 到线程池就丢了?asyncio.to_thread 和 run_in_executor 实测
python
岁月宁静5 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
岁月宁静6 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个6 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
小肝一下8 小时前
3.基础语法(3)
python
深蓝AI9 小时前
Python 子进程树:父进程被杀后,孙进程为何还在跑?
python
心祭丫丫9 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
爱你真是太好了9 小时前
Skill 索引瘦身与渐进加载
python
贾公子9 小时前
检测链路的容量规划——用 Little's Law 算清 QPS、并发与积压
后端·python