Pyinstaller打包的exe文件过大的解决方法

Pyinstaller打包的exe文件过大怎么办?

相信经常用python的朋友都会面临这么一个问题,那就是想把自己写好的python程序打包给别人使用。有的人就会问了”打包“是什么,为什么要打包呢?
“打包”就是将自己电脑上的py文件制作成可执行exe文件的过程,这样做的目的是让没有安装python环境的朋友也能正常打开使用py程序。
在这里插入图片描述
还未安装pyinstaller的朋友可以直接在cmd窗口运行“pip install pyinstaller”进行下载,我已经安装过了所以就显示已安装。关于pyinstaller有个坑,就是pyinstaller往往是有版本要求的,我记得python有些版本是不能正常打包的,所以在下载python时最好选择合适的版本,我现在在用的是python3.7.4。
在这里插入图片描述
比如我这次打包的单个py文件中就有这几个库函数,之前听说用from…import 比用import可以减少exe的大小,其实我经过操作发现其实不太明显。不过用就用吧,也不好说这种做法是错的,只是说没啥实质用处。

用“pyinstaller -F -w 某某.py”
光是这样打包出来的文件就有200多M,而且打包的运行时间还又臭又长。
这次是学校作业的上交,大家大多都用java打的,可以只发源码,顶多就几百K,我总不可能一枝独秀发个几百M的的压缩包过去吧。
在网上找了许久,这两个网站我觉得对这个问题有建设性的价值:
Python: Excluding Modules Pyinstaller

CodingDog某不知名农业大学英语专业的python爱好者

我们先打包生成一次spec文件,然后记事本打开,更改spec文件中的内容,就像这样:
在这里插入图片描述
然后使用“ pyinstaller --clean -F 某某.spec” 打包,你会惊奇地发现,打包的速度不仅快了好多,从几分钟变成几秒就OK,而且最终的 exe 也从200多M变成了10 M。这篇文章打包用的代码会在后续中发布,那就是另外一回事了。回归正题:
其中标黄色的位置就是要添加的内容,这就有人问了,这些东西在哪里找的啊,我怎么知道要添加这些,其实我也是不知道的,我是根据自己的直觉试出来的,这些库对于程序是不必要的,我们就可以在excludes中添加它们,表示我们不把这些库打包到exe中。那哪些库不需要,要如何寻找呢?
在这里插入图片描述
看到其中的黄字了吗,这些个Loading就是我们的目标,我们将其中的这些库名,试探性地输入到spec文件的excludes列表,经过上面的指令的测试,然后运行exe文件是否成功,将我们的exe文件不断地缩小。你可以通过cmd中的输出提示不断地改善excludes列表,达到exe程序最小化。我暂时是知足了,200M到10M二十倍的缩小,多次尝试相信你也可以很快减小exe的大小的!
喜欢的看官点个赞吧!

猜你喜欢

转载自blog.csdn.net/weixin_43594279/article/details/106795616
今日推荐