如何在pyinstaller中减小exe文件大小 [英] How to reduce exe file size in pyinstaller
本文介绍了如何在pyinstaller中减小exe文件大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从我的python脚本开发.exe文件,但它的大小超过715MB,即使我使用虚拟环境进行开发,但仍然很大。
我在脚本中使用的这些库:
import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
import configparser
开发.exe的步骤
1)pip install virtualenv #install virtualenv
2)virtualenv name_env #creat a virtualenv
3)pip install your packages in new virtualenv
4)cmd and activate
5)cd to the dir of python script
4)pyinstaller -w -F mainscript.py
任何人都可以帮助找出我哪里出了错
此应用程序通常应为42MB或小于50MB
但这里的大小是600MB+
推荐答案
很大的贡献可能来自matplotlib
使用的Qt和numpy
使用的MKL。
参见示例:
- Reduce size of pyqt5 html-viewer application build with pyinstaller
- size of executable using pyinstaller and numpy。
使用OpenBlas而不是MKL会有所帮助。
为了说明不同之处,我使用matplotlib/Qt
和numpy
在Windows10上使用两个不同的conda环境构建了一个简单的示例应用程序:一个使用MKL,另一个使用OpenBLAS,如下面的YAML文件所指定。
生成的可执行文件大小为:
- MKL:312 MB
- OpenBLAS:100 MB
可以使用conda env create -f <filename>
创建环境。
MKL环境(参见this discussion):
name: mkl
dependencies:
- python=3.8
- matplotlib
- pyinstaller
name: openblas
dependencies:
- python=3.8
- conda-forge::blas=*=openblas
- conda-forge::matplotlib
- pyinstaller
示例应用程序:
from matplotlib import pyplot as plt
import numpy as np
if __name__ == '__main__':
x = np.arange(0, 10 * np.pi, 0.1)
y = np.sin(x)
dot_product = np.dot(y, y.T) # just some matrix operation
plt.plot(x, y)
plt.title(dot_product)
plt.show()
构建使用:pyinstaller --clean -w -F main.py
这篇关于如何在pyinstaller中减小exe文件大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文