前言
关于解决“pyinstall打包pyqt程序体积太大”问题的那些事
问题背景
由于python的包各种抽调,一个很小的pyqt程序,用pyinstaller打包,体积也很大
关键技术
**python virtualenv pipenv pyinstaller **
问题解决
尝试虚拟环境
首先尝试的virtualenv环境。
virtualenv如何使用的教程有很多,这里不再赘述
在virtualenv中安装好依赖的各种包后,开始打包
发现打包出的exe很小!
惊喜!
再一点运行,,,
缺陷pyqt5库,无法运行
可是在virtualenv环境中安装了pyqt5了啊,,,,,,,
查了半天
发现是因为 PyQt5 安装在主环境中,在虚拟环境中没有 PyQt5 的动态链接库,PyQt5的环境变量也没有设置,因此无法导入,因此无法简单的用命令在 virtualenv 中安装 PyQt5
好
那我们在程序中加入动态链接库
1 | import os; |
继续pyinstaller ,生成exe
可以运行了!
哎?不对!怎么还是这么慢?
看一下大小
60.8M!!!!!!!
看来不给力啊~
那换一个虚拟环境!
这次用pipenv!
接着肝!
咦,还不错!
在pipenv虚拟环境中安装pyqt后,程序可以自动调用!
省了很多麻烦~
pyinstaller 打包!
怎么还是60.8M?
????????????
原来:
Packages包含 | 大小 |
---|---|
空 | 10.4M |
Pyqt5 | 41.9M |
numpy | 324M |
Pandas | 498M |
numpy+Pandas(两者有重叠部分) | 547M |
Mdfreader(自带Pandas和UI界面,会带入QT) | 548M |
真得无大语。。。。。。。。。。。。
搞了半天,真的是一地鸡毛 ~
终极方案
换语言吧
还得是C++啊 ~