Pyinstaller打包python程序为exe时 程序多线程导致打开非常多窗口解决

装了个Pyinstaller打包exe

bash 复制代码
pip install Pyinstaller

打包命令

bash 复制代码
Pyinstaller -F main.py
Pyinstaller -F -w main.py #不带控制台
Pyinstaller -F -w -i 1.ico main.py #指定图标不带控制台

打包完的exe一运行开了一坨窗口,一眼多线程,我程序里的多线程如下

我把poolsize设置为1后问题确实消失,但是我不希望加密速度变慢

python 复制代码
def A生成秘钥并保存():
    pubkey, privkey = rsa.newkeys(4096, poolsize=16)  # 密钥长度128 256 512 1024 2048 3072 4096    poolsize=核心数

解决方法

Recipe Multiprocessing · pyinstaller/pyinstaller Wiki (github.com)

文档所示,windows和旧版本的pyinstaller打包都需要在main里加点神奇小料。

python 复制代码
if __name__ == '__main__':  

    multiprocessing.freeze_support() 
    #pyinstaller打包多线程需要,不然崩一堆窗口

调用的crypto库也是,windows底下有点问题要扯皮。

相关推荐
我居然是兔子4 小时前
异常练习:在试错中吃透Java异常处理的底层逻辑
java·开发语言
2501_944452234 小时前
字数统计 Cordova 与 OpenHarmony 混合开发实战
python
养一回月亮!4 小时前
使用Qt实现简单绘图板:鼠标绘制与擦除功能详解
开发语言·qt
骚戴5 小时前
2025 Python AI 实战:零基础调用 LLM API 开发指南
人工智能·python·大模型·llm·api·ai gateway
BanyeBirth5 小时前
C++差分数组(二维)
开发语言·c++·算法
kobe_OKOK_5 小时前
tdeinge REST API 客户端
python·缓存·django
io_T_T5 小时前
Python os库 os.walk使用(详细教程、带实践)
python
Tony Bai5 小时前
Go 的 AI 时代宣言:我们如何用“老”原则,解决“新”问题?
开发语言·人工智能·后端·golang
Fcy6485 小时前
C++ map和multimap的使用
开发语言·c++·stl
L Jiawen6 小时前
【Golang基础】基础知识(下)
服务器·开发语言·golang