Форум сайта python.su
Доброго времени суток!)
Пытаюсь скомпилировать файл с помощью py2exe однако не получается.
Вот мой setup файл
from distutils.core import setup import py2exe import matplotlib import matplotlib.backends.backend_tkagg import pylab options = { "bundle_files": 1, # Used for one big exe "compressed": 1, "includes" : ["matplotlib.backends.backend_tkagg"], "packages": ["sip", 'matplotlib', 'pytz', 'pylab', ], } setup( data_files=matplotlib.get_py2exe_datafiles(), windows = [{ "script": "grafic.py", }] )
Traceback (most recent call last): File "grafic.py", line 4, in <module> File "pylab.pyc", line 1, in <module> File "matplotlib\pylab.pyc", line 265, in <module> File "matplotlib\pyplot.pyc", line 97, in <module> File "matplotlib\backends\__init__.pyc", line 25, in pylab_setup ImportError: No module named backend_tkagg
Отредактировано Win95 (Март 11, 2013 11:42:26)
Офлайн
Проблема решена. Пришлось немного усовершенствовать setup до состояния:
# Used successfully in Python2.5 with matplotlib 0.91.2 and PyQt4 (and Qt 4.3.3) from distutils.core import setup import py2exe from scipy.sparse.csgraph import _validation # We need to import the glob module to search for all files. import glob # We need to exclude matplotlib backends not being used by this executable. You may find # that you need different excludes to create a working executable with your chosen backend. # We also need to include include various numerix libraries that the other functions call. opts = { 'py2exe': { "includes" : [ "matplotlib.backends", "matplotlib.backends.backend_qt4agg", "matplotlib.figure","pylab", "numpy", "matplotlib.backends.backend_tkagg", 'scipy',"scipy.special"], 'excludes': ['_gtkagg', '_tkagg', '_agg2', '_cairo', '_cocoaagg', '_fltkagg', '_gtk', '_gtkcairo', ], 'dll_excludes': ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll'] } } # Save matplotlib-data to mpl-data ( It is located in the matplotlib\mpl-data # folder and the compiled programs will look for it in \mpl-data # note: using matplotlib.get_mpldata_info data_files = [(r'mpl-data', glob.glob(r'C:\Python27\Lib\site-packages\matplotlib\mpl-data\*.*')), # Because matplotlibrc does not have an extension, glob does not find it (at least I think that's why) # So add it manually here: (r'mpl-data', [r'C:\Python27\Lib\site-packages\matplotlib\mpl-data\matplotlibrc']), (r'mpl-data\images',glob.glob(r'C:\Python27\Lib\site-packages\matplotlib\mpl-data\images\*.*')), (r'mpl-data\fonts',glob.glob(r'C:\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\*.*'))] # for console program use 'console = [{"script" : "scriptname.py"}] setup(windows=[{"script" : "grafic.py"}], options=opts, data_files=data_files)
Офлайн