我目前正在开发一个应用程序,它使用py2exe从一些使用matplotlib的Python代码创建一个exe文件。除了我的可执行文件很大之外,它工作得很好。在它下面运行转换脚本会创建43.5 MB的包(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
答案 0 :(得分:6)
如果您使用matplotlib只是为了使用默认字体等显示某些图表,您只需删除dist/mpl-data
文件夹,但不包括matplotlib.conf和matplotlibrc。
我这样做了,在12MB上节省了4MB。
为什么你的dist是43.5MB可能不是全部由于matplotlib ...