前提:
- 一个带GUI的python小程序,主要依赖有PyQt5,Opencv,pyzmq,numpy
- windows、anaconda、python3.6.6 64bit环境
- 专门建立了一个虚环境(conda create方式)
-
pip list列表如下图,也就这么些东西
image.png - 好家伙,打包出来200MB出头
Rule 1:抛弃Anaconda
重新单独安装python3.6.6,新建虚拟环境,安装依赖包,然后用pyinstaller打包
体积从200MB出头下降到64MB左右
主要是由于Anaconda有一些额外依赖,并且numpy会自动打包mkl
Rule 2:换成32位python
体积从64MB下降至46MB
Rule 3:用pillow代替opencv
从46MB下降至33.9MB
Rule 4:用tkinter代替PyQt5
未完成,待续
Rule 5:upx压缩
未完成,待续
网友评论