我试图从使用wxPython和Matplotlib的python脚本生成一个.exe文件,它看起来像是不可能的。使用py2exe与wxPython和Matplotlib
我做的是进口的(含Matplotlib相关)如下:
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
这里是我试图使用setup.py文件:
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
)
我试图运行.exe文件(顺便说一句,它已成功创建)后,总是收到“找不到matplotlib数据文件”。
更多信息:我使用Python 2.6,Matplotlib 0.99.3,wxPython的2.8.11.0在Windows XP
在此先感谢。 任何帮助将不胜感激!
干杯, Andressa Sivolella
我第二个这个建议。 PyInstaller非常适用于wxPython和matplotlib,以及其他一些未在[支持的软件包](http://www.pyinstaller.org/wiki/SupportedPackages)列表中提及的其他软件,如[xlrd](http://pypi.python.org /的PyPI/xlrd)。过去几周,我一直在使用PyInstaller和所有这三个软件包来完成一个项目,而且它几乎是无痛的。 – ChrisC
@ChrisC我也使用了[cx_freeze](http://cx-freeze.sourceforge.net/),因为PyInstaller 1.4不支持Python 2.6。我有点惊讶,py2exe继续使用了很多,因为它自2008年以来一直没有更新。 – Velociraptors
说实话,我没有看到很长时间py2exe和PyInstaller之间的差异,只是默认py2exe ...直到我发现PyInstaller处理了MSVCR * .DLL分发的愚蠢,并且可以打包matplotlib。从那以后一直没有回头。 – ChrisC