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

相关推荐
weixin_419658312 分钟前
UISpy:Windows 界面控件的“显微镜“[特殊字符]
windows·python·测试工具·ui
天燹4 分钟前
Qt 6 嵌入 Android 原生应用完整教程
android·开发语言·qt
liu****14 分钟前
第一章 Qt 概述
开发语言·c++·qt
不如语冰14 分钟前
AI大模型入门1.1-python基础-数据结构
数据结构·人工智能·pytorch·python·cnn
知行合一。。。16 分钟前
Python--04--数据容器(列表 List)
开发语言·python
程芯带你刷C语言简单算法题19 分钟前
Day48~对于高度为 n 的台阶,从下往上走,每一步的阶数为 1,2,3 中的一个。问要走到顶部一共有多少种走法
c语言·开发语言·学习·算法·c
csbysj202021 分钟前
SQL NOT NULL约束详解
开发语言
杰瑞哥哥29 分钟前
【时间序列与深度学习】(一)经济计量基础ARIMA模型
python·时间序列·金融工程
低调小一31 分钟前
Kotlin 2025–2026 客户端开发路线:语言升级 × 跨端落地 × AI Agent 入门
开发语言·人工智能·kotlin
网安CILLE41 分钟前
Wireshark 抓包实战演示
linux·网络·python·测试工具·web安全·网络安全·wireshark