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

相关推荐
ironinfo10 小时前
C#性能优化随记
开发语言·性能优化·c#
无限进步_10 小时前
基于顺序表的通讯录系统设计与实现
c语言·开发语言·数据结构·c++·后端·算法·visual studio
e***193510 小时前
QoS质量配置
开发语言·智能路由器·php
lucky_syq10 小时前
深入Spark核心:Shuffle全剖析与实战指南
大数据·分布式·python·spark
宠..10 小时前
使用纯代码设计界面
开发语言·c++·qt
froginwe1110 小时前
SQL ALTER 语句详解
开发语言
ALex_zry10 小时前
内核开发者的视角:C与Rust在系统编程中的哲学与实践
c语言·开发语言·rust
u***451610 小时前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
友友马10 小时前
『QT』窗口 (二) - 深入剖析 QDialog 对话框机制与内存管理
开发语言·qt
TracyCoder12310 小时前
Java后端Redis客户端选型指南
java·开发语言·redis