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

相关推荐
Jutick13 小时前
WebSocket 连接没断,行情却停了:如何给实时数据流加双层 watchdog?
python
石头城的小石头13 小时前
【从0到1的鼠标位置显示记录器,基于python环境pycharm下编译实施,最终打包为exe,欢迎交流】
python·目标跟踪·pycharm·计算机外设·鼠标
用户83562907805113 小时前
Python 操作 Word 修订跟踪(Track Changes)
后端·python
花北城13 小时前
【C#】ABP框架服务端开发
开发语言·c#·abp
电商API_1800790524713 小时前
Python 实现闲鱼商品列表批量采集,接口异常重试机制搭建
大数据·开发语言·数据库·爬虫·python
DogDaoDao13 小时前
深入理解 Qt:从原理到实战的全景指南
开发语言·qt·程序员
放下华子我只抽RuiKe513 小时前
FastAPI 全栈后端(四):认证与授权
开发语言·前端·javascript·python·深度学习·react.js·fastapi
我是唐青枫13 小时前
Java Spring Data JPA 实战指南:Repository 查询、分页与实体映射
java·开发语言
张忠琳13 小时前
【Go 1.26.4】(Part 2) Go 1.26.4 超深度分析 — Runtime GMP 调度器 (proc.go + runtime2.go)
开发语言·golang
阿坤带你走近大数据14 小时前
java中泛型不能用基础数据类型
java·开发语言