我正在使用 Pyinstaller 将 python 脚本转换为可执行文件,该脚本包含来自各种包(如 nltk、begin、json 等)的多个导入。 10 行代码生成的可执行文件为 54MB,这是不切实际的高,我知道它将所有模块打包在一个文件中,但是它是否使其如此之大,因为 python 脚本本身只有 2KB。
减少“.exe”文件大小的一般技巧有哪些?
我正在使用下面的命令来转换脚本
>pyinstaller.py -F -o output check.py
我只导入了单个函数而不是整个模块,例如:
from nltk.metrics.agreement import AnnotationTask
导入的模块具有独立的功能,我只选择性地导入了3-4个功能,但这似乎对生成的exe文件大小没有任何影响,所有功能都浪费地导入到exe文件中吗?如何避免这种情况?
您正在比较两个完全不同的东西,您生成的 exe 文件不仅包含您的文件,还包含 Python 解释器和所有导入的模块。看看我在 Windows 下安装的 python 2.7,我发现它有 83 MB 大。 ntlk 和 co 可能也不是最小的库,您必须以某种方式将它们全部包含在可执行文件中。为了进行比较,我的一个中小型项目使用 cx_freeze 生成了大约 23 MB(其中包括 10 MB 的 QT4 dll),因此您可以尝试一下。
您也可以使用 UPX 压缩可执行文件,如下所述here http://htmlpreview.github.io/?https://github.com/pyinstaller/pyinstaller/blob/v2.0/doc/Manual.html#a-note-on-using-upx这可能有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)