【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函数。

相关推荐
yk 坤帝12 小时前
用Python实现发送《自动周报》实战脚本
开发语言·python
一点一木12 小时前
Seed Evolving 深度测评:我用它造了一个 AI 出题工具
人工智能·python·github
abbgogo13 小时前
OSPF动态路由协议
开发语言·php
en.en..13 小时前
C 语言嵌入式事件驱动状态机完整教程(枚举配套)
c语言·开发语言
阿童木写作13 小时前
跨境卖家效率翻倍,跨马翻译批量图片翻译工具实测
人工智能·python
鹿鹿学长14 小时前
2026国赛报名季:从组委会第一次通知到各校8月报名通知,赛程报名评奖官方口径一次讲清
python·自动化
Tim_1014 小时前
【C++】024、new[]与delete[]配对使用
java·开发语言
C++、Java和Python的菜鸟14 小时前
第15章 项目部署(Docker)
python
风之清扬14 小时前
AI agent学习之一基础知识
人工智能·python·学习
Jay-r14 小时前
极简博客搭建(精简版):textlog + GitHub Pages
python·github·教程·集成学习·博客网站·技术教程·自我成长