[Python进阶] Pyinstaller减少打包后程序大小

5.6 Pyinstaller减少打包后程序大小

由于打包后的程序经常要发送给他人使用,所以对于打包后的程序大小还是比较重要的。有时候,明明代码不多,但是打包后的程序非常大,这个就比较郁闷了。
那么有什么办法可以减少打包后的程序大小呢,笔者总结了以下几种方法:

5.6.1 单文件模式

如果打包成单文件运行无问题,那么将程序打包成单独的单文件模式也不失为一种方案。使用单文件模式打包通常只会占到文件夹模式打包的一半大小。

5.6.2 养成良好的导入习惯

写代码的时候要养成良好的导入习惯,用某个函数时就尽量导入某个函数,不要为了贪图方便,用from x import *直接将某个库所有的内容导入进来了。导入类也是同理。导入的东西越多,最后打包出来后的占用空间越大。

5.6.3 使用–exclude-module命令

Pyinstaller在打包时,常常会把无关的模块打包进来(原因是我们代码中使用的库可能有导入这些无关模块,而这些无关的模块又有可能导入其他无关模块)。我们可以使用–exclude-module命令来排除指定模块。
通常容易被不小心导入又比较大的库有:pandas、numpy、selenium、pyside2、pyqt库。我们可以用下面的命令排除pandas和numpy:
Pyinstaller --exclude-module=pandas --exclude-module=numpy 打包.py
如果要排除其它第三方库也是同理。
提示:如果可以的话,在打包时创建一个比较干净的Python环境,这样在打包时,那些用不上的库就不会被打包进来了。

5.6.4 使用UPX工具

UPX(Ultimate Packer for eXecutables)是一款用于可执行文件(例如.exe、.dll、.so等)的压缩工具。它的主要功能是减小文件的大小,以便于文件传输或节省存储空间。UPX也可以用于加密和保护程序代码,防止被逆向工程或篡改。
在程序打包过程中,UPX可以作为一个独立的压缩工具,用于压缩生成的可执行文件。通过压缩可执行文件,UPX可以将其大小减小,从而提高文件传输的效率和便利性。此外,UPX还可以加密可执行文件,以保护程序代码不被轻易读取或篡改。这有助于提高程序的安全性和保密性。
总之,UPX是一种可执行文件压缩和保护工具,常用于程序打包过程中,以提高文件传输效率和保护程序代码。

你可能感兴趣的:(Python进阶,#,五,打包,Python,程序,python,开发语言)