精简py2exe和matplotlib
我现在正在开发一个应用程序,使用py2exe把一些Python代码变成exe文件,这段代码用到了matplotlib。整体运行得不错,但我的可执行文件太大了。运行下面的转换脚本后,生成的包有43.5MB(包括exe文件和它的依赖项)。我知道可能有一些方法可以减小我这个应用程序的大小。
有没有什么建议可以帮助我减小应用程序的体积?
我的转换脚本:
from distutils.core import setup
import py2exe
import matplotlib
setup(
windows=[{'script': r'ElectronOrbitalGenerator.py'}],
data_files=matplotlib.get_py2exe_datafiles(),
options={r'py2exe':{r'includes': r'ElementConfig',
r'includes': r'ColorConv',
r'includes': r'Tkinter',
r'includes': r're',
r'includes': r'math',
r'includes': r'sys',
r'includes': r'matplotlib',
r'includes': r'mpl_toolkits',
r'dll_excludes': [r'MSVCP90.dll'],
}},
)
这是我程序运行所需的所有模块:
import ElementConfig, ColorConv
import Tkinter, re, math, sys
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
1 个回答
6
如果你只是用matplotlib来显示一些图表,使用默认的字体什么的,你可以在dist/mpl-data
文件夹里,把除了matplotlib.conf和matplotlibrc以外的其他文件都删掉。
我这样做后,节省了大约4MB的空间,从12MB减少到了8MB。
你说你的文件夹有43.5MB,可能并不是全部都是matplotlib造成的……