py2exe与matplotlib,numpy和pylab

时间:2012-06-16 09:51:11

标签: python py2exe matplotlib

我正在尝试生成可执行文件。我正在使用的包是

import sys
import matplotlib.pyplot as plt
from pylab import *
from numpy import *  

setup.py是以下

from distutils.core import setup
import py2exe
import matplotlib

setup(console=['<python file>'],data_files=matplotlib.get_py2exe_datafiles(),)   

但是我收到了与pyplot.pyc相关的错误

  

导入错误:没有名为backend_tkagg的模块

任何解决办法吗?

2 个答案:

答案 0 :(得分:10)

您应该明确包含matplotlib模块。 如果你这样做,你可以从不可用的dll中获得一些错误,那么你应该排除它们 一个适合我的文件设置:

from distutils.core import setup
import py2exe
import matplotlib

setup(console=['afile.py'],
      options={
               'py2exe': {
                          'packages' :  ['matplotlib', 'pytz'],
                          'dll_excludes': ['libgdk-win32-2.0-0.dll',
                                         'libgobject-2.0-0.dll',
                                         'libgdk_pixbuf-2.0-0.dll',
                                         'libgtk-win32-2.0-0.dll',
                                         'libglib-2.0-0.dll',
                                         'libcairo-2.dll',
                                         'libpango-1.0-0.dll',
                                         'libpangowin32-1.0-0.dll',
                                         'libpangocairo-1.0-0.dll',
                                         'libglade-2.0-0.dll',
                                         'libgmodule-2.0-0.dll',
                                         'libgthread-2.0-0.dll',
                                         'QtGui4.dll', 'QtCore.dll',
                                         'QtCore4.dll'
                                        ],
                          }
                },
      data_files=matplotlib.get_py2exe_datafiles(),)   

答案 1 :(得分:1)

我需要添加(python2.7):

    import sys
    sys.path.append("C:\\pathToYourPython\\pythonxy2731\\console\\Microsoft.VC90.CRT")