0

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

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 的模块

有什么办法可以解决吗?

4

2 回答 2

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(),)   
于 2012-06-16T11:05:03.567 回答
1

我需要添加(python2.7):

    import sys
    sys.path.append("C:\\pathToYourPython\\pythonxy2731\\console\\Microsoft.VC90.CRT")
于 2013-03-18T12:13:16.767 回答