我有一个目前依赖于numpy
的程序,我一直致力于使用py2exe
进行转换。我的问题是即使使用诸如
from numpy import array
print array(1)
仅使用函数numpy.array
,我无法找到任何方法来排除numpy
包中看似不必要的部分,例如numpy.linalg
由{py2exe
创建的分发中1}}。这导致分发大小超过80MB(拉链后为30MB)。名为numpy.linalg._umath_linalg.pyd
的文件夹中有一个34MB的文件,另一个名为numpy.linalg.lapack_lite.pyd
的文件是18MB - 这些文件真的需要存在吗?!如果简单删除.exe
,则py2exe
不会运行。
我的问题是,如何减少分配结果?我知道有numpy
的替代品,如果我可以删除对from distutils.core import setup
import py2exe, sys
import shutil
sys.argv.append('py2exe') # No need to type in command line.
py2exe_options = {
# 'excludes': ['numpy.linalg'], # Stopped the resulting exe from running
'compressed': True, # Saves 5MB, is this at the cost of some speed?
'optimize': 1 # I don't really understand what this does.
}
setup(
windows=[{'script': 'main.pyw'}],
options={'py2exe': py2exe_options},
)
shutil.rmtree('build', ignore_errors=True) # Remove the build folder
的依赖,我就不会没有这个问题,但我想坚持这两个。
我正在使用以下设置脚本,导致87MB分发。
{{1}}