把py2exe和matplotlib放在节食上

时间:2011-02-17 08:22:55

标签: python optimization tkinter matplotlib py2exe

我目前正在开发一个应用程序,它使用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

1 个答案:

答案 0 :(得分:6)

如果您使用matplotlib只是为了使用默认字体等显示某些图表,您只需删除dist/mpl-data文件夹,但不包括matplotlib.conf和matplotlibrc。

我这样做了,在12MB上节省了4MB。

为什么你的dist是43.5MB可能不是全部由于matplotlib ...