1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Pyinstaller打包的exe文件过大的解决方法

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

时间:2023-03-26 00:28:52

相关推荐

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的大小的!

喜欢的看官点个赞吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。