我正在使用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文件中?如何避免这种情况?
发布于 2013-08-31 21:34:56
您正在比较两个完全不同的东西,您生成的exe文件不仅包含您的文件,还包含Python解释器和所有导入的模块。查看我在windows下安装的python2.7,我发现它有83MB大小。ntlk和co可能也不是最小的库,您必须以某种方式将它们全部包含在可执行文件中。作为比较,我的一个中小型项目使用cx_freeze会产生大约23MB的内存(其中包括10MB的QT4 dll),所以你可以试一下。
您也可以使用UPX压缩可执行文件,如here所述,这可能会有所帮助。
https://stackoverflow.com/questions/18548447
复制相似问题