Próbuję wygenerować plik .exe ze skryptu Pythona, który używa wxPython i Matplotlib i wygląda na niemożliwy.przy użyciu py2exe z wxPython i Matplotlib
przywozu robię (związane z matplotlib) są następujące:
from numpy import *
import matplotlib
matplotlib.interactive(True)
matplotlib.use("WXAgg")
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigCanvas
from matplotlib.ticker import MultipleLocator
Oto plik setup.py Próbuję użyć:
from distutils.core import setup
import py2exe
import matplotlib
opts = {
'py2exe': {"bundle_files" : 3,
"includes" : [ "matplotlib",
"matplotlib.backends",
"matplotlib.backends.backend_wxagg",
"numpy",
"matplotlib.ticker",
"matplotlib.figure", "_wxagg"],
'excludes': ['_gtkagg', '_tkagg', '_agg2',
'_cairo', '_cocoaagg',
'_fltkagg', '_gtk', '_gtkcairo', ],
'dll_excludes': ['libgdk-win32-2.0-0.dll',
'libgobject-2.0-0.dll']
}
}
setup(
windows=[{'script':'starHunter.py', 'icon_resources':[(1, 'icon.ico')]}],
data_files=matplotlib.get_py2exe_datafiles(),
options=opts,
zipfile=None
)
I "zawsze otrzymuję" Nie można znaleźć plików danych matplotlib "po próbie uruchomienia pliku .exe, który swoją drogą został pomyślnie utworzony.
Dodatkowe informacje: Używam Pythona 2.6, matplotlib 0.99.3, WxPython 2.8.11.0 w systemie Windows XP
góry dziękuję. Każda pomoc zostanie doceniona!
Cheers, Andressa Sivolella
I drugie zalecenie. PyInstaller działa doskonale dla wxPython i matplotlib, a także kilka innych nie wymienionych na ich liście [Supported Packages] (http://www.pyinstaller.org/wiki/SupportedPackages) takich jak [xlrd] (http://pypi.python.org/pypi/xlrd). Używałem PyInstaller i wszystkich 3 z tych pakietów przez ostatnie kilka tygodni w projekcie i było prawie bezboleśnie. – ChrisC
@ChrisC Użyłem również [cx_freeze] (http://cx-freeze.sourceforge.net/), ponieważ PyInstaller 1.4 nie obsługiwał Pythona 2.6. Jestem trochę zaskoczony, że py2exe nadal jest używany tak często, ponieważ nie był aktualizowany od 2008 roku. – Velociraptors
Szczerze mówiąc, nie widziałem dużej różnicy między py2exe i PyInstaller przez długi czas i właśnie domyślnie py2exe ...dopóki nie odkryłem, że PyInstaller obsłużył głupotę dystrybucji MSVCR * .DLL i mógł zawinąć matplotlib. Odtąd nie oglądałem się za siebie. – ChrisC