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

相关推荐
XR1234567881 小时前
办公网自主创新建设怎么选?信创办公场景的选型逻辑
开发语言·php
郝学胜-神的一滴1 小时前
Effective Python 条款4:字符串格式化大乱斗
开发语言·网络·python·程序人生·软件工程
Ramble_Naylor1 小时前
只借不占:Rust 的引用与借用
开发语言·rust
FreeTinker1 小时前
Java文件服务器的技术选型与实现路径:从嵌入式工具到企业级系统
java·服务器·开发语言
2501_906565121 小时前
小创 · 智能助手
开发语言·c#
ynchyong2 小时前
Python 字符组合生成器:product 与 permutations 的实战对比
python·工具·字符串生产
benchmark_cc2 小时前
1000只ETF的5分钟K线如何批量获取?QuantDash分页策略与高性能Python实践
开发语言·人工智能·爬虫·python·算法·quantdash·量化数据源
Coodor2 小时前
如何在web浏览器使用js操作CPU卡
开发语言·前端·javascript·cpu卡
sel_92 小时前
【PEFT】参数高效微调(PEFT)技术详解:从原理到 LoRA/QLoRA 实战
人工智能·python·深度学习·算法·机器学习·参数高效微调