0%

pyinstall打包pyqt程序体积太大

前言

关于解决“pyinstall打包pyqt程序体积太大”问题的那些事

问题背景

由于python的包各种抽调,一个很小的pyqt程序,用pyinstaller打包,体积也很大

关键技术

**python virtualenv pipenv pyinstaller **

问题解决

尝试虚拟环境

首先尝试的virtualenv环境。

virtualenv如何使用的教程有很多,这里不再赘述

在virtualenv中安装好依赖的各种包后,开始打包

发现打包出的exe很小!

惊喜!

再一点运行,,,

缺陷pyqt5库,无法运行

可是在virtualenv环境中安装了pyqt5了啊,,,,,,,

查了半天

发现是因为 PyQt5 安装在主环境中,在虚拟环境中没有 PyQt5 的动态链接库,PyQt5的环境变量也没有设置,因此无法导入,因此无法简单的用命令在 virtualenv 中安装 PyQt5

那我们在程序中加入动态链接库

1
2
3
import os;
from distutils.sysconfig import get_python_lib
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = os.path.join(get_python_lib(), 'PyQt5', 'plugins', 'platforms')

继续pyinstaller ,生成exe

可以运行了!

哎?不对!怎么还是这么慢?

看一下大小

60.8M!!!!!!!

看来不给力啊~

那换一个虚拟环境!

这次用pipenv!

接着肝!

咦,还不错!

在pipenv虚拟环境中安装pyqt后,程序可以自动调用!

省了很多麻烦~

pyinstaller 打包!

怎么还是60.8M?

????????????

原来:

Packages包含大小
10.4M
Pyqt541.9M
numpy324M
Pandas498M
numpy+Pandas(两者有重叠部分)547M
Mdfreader(自带Pandas和UI界面,会带入QT)548M

真得无大语。。。。。。。。。。。。

搞了半天,真的是一地鸡毛 ~

终极方案

换语言吧

还得是C++啊 ~

big_head

-------------本文结束感谢您的阅读-------------
原创技术分享,您的支持将鼓励我继续创作

欢迎关注我的其它发布渠道