Ich versuche, eine .exe-Datei aus einem Python-Skript zu generieren, das wxPython und Matplotlib verwendet und es scheint unmöglich zu sein.
Die Importe, die ich mache (in Zusammenhang mit Matplotlib) sind die folgenden:
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
Hier ist die Datei setup.py, die ich verwenden möchte:
%Vor%Ich bekomme immer "Matplotlib-Datendateien finden" nicht, nachdem ich versucht habe, die .exe-Datei auszuführen, die übrigens erfolgreich erstellt wurde.
Zusätzliche Informationen: Ich verwende Python 2.6, Matplotlib 0.99.3, wxPython 2.8.11.0 unter Windows XP
Vielen Dank im Voraus. Jede Hilfe wird geschätzt!
Prost, Andressa Sivolella
Versuchen Sie es mit PyInstaller und nicht mit py2exe. Es hat volle Unterstützung für wxPython und Matplotlib. Und es ist in aktiver Entwicklung, im Gegensatz zu py2exe.
Für einen einfachen Test können Sie einfach den Ordner 'mpl-data' in 'site-packages \ matplotlib' in Ihren App-Ordner kopieren. Soweit ich weiß, kann 'mpl-data' nicht in die einzelne ausführbare Datei gebündelt werden, daher muss diese in Ihrer Binärdistribution als Ordner enthalten sein.
Ich habe py2exe über GUI2Exe verwendet und konnte meine App einfrieren, die matplotlib + numpy / scipy + wx verwendet (also offensichtlich wxagg-Backend). Ich musste _tkagg nicht einschließen (was in der GUI2Exe-Standardeinstellung ausdrücklich ausgeschlossen ist, die für mich funktionierte).
Es gibt eine Reihe von Problemen mit matplotlib.get_py2exe_datafiles (), so praktisch wie es wäre, wenn es funktioniert. Es ist auch eine gute Idee, das zu verwendende Backend anzugeben. Hier ist ein funktionierender Matplotlib-Import, den ich kürzlich verwendet habe:
%Vor%Py2exe Dokumentation erklärt die Ursache des Problems und gibt Lösungen. Es hat für mich funktioniert. (Matplotlib Version 1.1.0, Python 2.7)
Da ich kein Privileg habe, andere Antworten zu kommentieren oder zu bewerten, muss ich meine eigene schreiben. Kirks Antwort war die wertvollste Hilfe für mich. PyInstaller könnte ein Workaround sein (habe es nicht getestet), aber ist definitiv nicht die technische Lösung für das Problem!
%Vor%Tags und Links matplotlib windows-xp wxpython py2exe