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

相关推荐
Pniubi13 小时前
Java为什么要分堆和栈
java·开发语言
用户2986985301413 小时前
Python 自动化处理 Word 页眉页脚的几种典型场景
后端·python·api
小小晓.14 小时前
Qt 对话框、QLineEdit 与布局管理实战详解
开发语言·qt
終不似少年遊*14 小时前
【安全业务Agent】从场景到编排
python·react.js·ai·langchain·agent·安全架构·工作流
AKA__Zas14 小时前
接口自动化测试(1.0 初认识
python·ci/cd·学习方法
炸薯条!14 小时前
博客系统测试报告
开发语言·lua
Evand J14 小时前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
用户03321266636714 小时前
使用 Python 在 Excel 文档中添加水印
python·excel
高洁0114 小时前
自然语言处理的技术演进与核心任务
人工智能·python·深度学习·机器学习·迁移学习
vipxieliang15 小时前
Python 类型注解与 mypy:提升代码可维护性
python