把py2exe和matplotlib放在节食上

rec*_*gle 4 python optimization tkinter py2exe matplotlib

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


)
Run Code Online (Sandbox Code Playgroud)

这些是我的程序需要运行的所有模块:

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
Run Code Online (Sandbox Code Playgroud)

neu*_*ino 6

如果您使用matplotlib只是为了使用默认字体等显示一些图表,您可以删除dist/mpl-data除matplotlib.conf和matplotlibrc之外的所有文件夹.

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

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