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

相关推荐
Chase_______2 分钟前
【Python基础 | 第5章】面向对象与异常处理:一文搞懂类、对象、封装、继承、多态
开发语言·python
啦啦啦!2 分钟前
项目环境的搭建,项目的初步使用和deepseek的初步认识
开发语言·c++·人工智能·算法
YanDDDeat2 分钟前
【大模型微调】基于 Llama3-8B 的 LoRA 微调专有领域QA 问答对生成模型
python·语言模型·llama
小李云雾3 分钟前
Python Web 路由详解:核心知识点全覆盖
开发语言·前端·python·路由
鲸渔5 分钟前
【C++ 变量与常量】变量的定义、初始化、const 与 constexpr
java·开发语言·c++
不会写DN11 分钟前
SQL 单表操作全解
java·服务器·开发语言·数据库·sql
翻斗包菜12 分钟前
零基础入门 Flask 框架
后端·python·flask
平安的平安13 分钟前
Python 实现 AI 图像生成:调用 Stable Diffusion API 完整教程
人工智能·python·stable diffusion
_下雨天.14 分钟前
Flask 框架
后端·python·flask
卤炖阑尾炎16 分钟前
Flask 框架实战全解:从入门到精通
后端·python·flask