Положить py2exe и matplotlib на диету - PullRequest
4 голосов
/ 17 февраля 2011

В настоящее время я работаю над приложением, которое использует py2exe для создания exe-файла из небольшого количества кода Python, который использует matplotlib. Это работает довольно хорошо, за исключением того, что мои исполняемые файлы огромны. Запустив скрипт преобразования ниже, он создает пакет размером 43,5 МБ (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 голосов
/ 17 февраля 2011

Если вы используете matplotlib просто для отображения диаграммы с использованием шрифта по умолчанию и т. Д., Вы можете просто удалить из папки dist/mpl-data все файлы кроме matplotlib.conf и matplotlibrc.

Я сделал это и накопил около 4 МБ на 12 МБ.

Почему ваш дистрибутив 43.5MB, вероятно, не все из-за matplotlib ...

...