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底下有点问题要扯皮。

相关推荐
辞旧 lekkk18 分钟前
【c++】c++11(上)
开发语言·c++·学习·萌新
程序员阿鹏20 分钟前
SpringBoot自动装配原理
java·开发语言·spring boot·后端·spring·tomcat·maven
彭世瑜23 分钟前
C/C++:libfort用于在终端输出表格
c语言·开发语言·c++
RAY_010424 分钟前
Python—数据可视化pyecharts
开发语言·python
徐同保25 分钟前
n8n+GPT-4o一次解析多张图片
开发语言·前端·javascript
春日见28 分钟前
如何跑通,吃透一个开源项目?
linux·运维·开发语言·数码相机·matlab
技术净胜33 分钟前
MATLAB数据清洗流程包含:缺失值处理/异常值检测/重复值删除
开发语言·matlab
SmoothSailingT34 分钟前
C#——textBox控件(1)
开发语言·c#
Lvan的前端笔记43 分钟前
python:用 dotenv 管理环境变量&生产环境怎么管理环境变量
网络·数据库·python
Java Fans43 分钟前
用PyQt打造带动画、碰撞检测和键盘控制的小游戏
python·计算机外设·pyqt