py2exe`ImportError:没有名为backend_tkagg`的模块

时间:2012-01-06 22:55:25

标签: python matplotlib py2exe

我正在尝试从使用matplotlib的python脚本生成一个Windows可执行文件,似乎我遇到了一个常见的错误。

  

文件“run.py”,第29行,in       导入matplotlib.pyplot作为plt文件“matplotlib \ pyplot.pyc”,第95行,在文件“matplotlib \ backends__init __。pyc”中,行   25,在pylab_setup中ImportError:没有名为backend_tkagg的模块

问题是我在互联网上搜索时没有找到解决方案。

这是我的setup.py

from distutils.core import setup
import matplotlib
import py2exe 
matplotlib.use('TkAgg')
setup(data_files=matplotlib.get_py2exe_datafiles(),console=['run.py'])

4 个答案:

答案 0 :(得分:5)

首先,简单的问题是,后端安装了吗?在我的Fedora系统上,我不得不从基础matplotlib单独安装它。

在Python控制台上,您可以:

>>> import matplotlib.backends.backend_tkagg

如果可行,请强制py2exe包含它。在您的配置中:

opts = {
  'py2exe': { "includes" : ["matplotlib.backends.backend_tkagg"] }
}

答案 1 :(得分:2)

如果您使用的是py2exe,它不会处理.egg格式的Python模块。如果您使用easy_install来安装故障模块,那么您可能只有.egg版本。有关如何修复它的更多信息,请参阅py2exe站点。

http://www.py2exe.org/index.cgi/ExeWithEggs

答案 2 :(得分:0)

这很好用

来自distutils.core导入设置 导入py2exe,sys,os 导入matplotlib

sys.setrecursionlimit(12000) sys.argv.append( 'py2exe')

设置(     options = {         “py2exe”:{             “bundle_files”:3,             “压缩”:的确,             “includes”:[“matplotlib.backends.backend_tkagg”]         }     },     windows = [{“script”:“script.py”}],

zipfile = None,

data_files = matplotlib data_files = matplotlib.get_py2exe_datafiles(), )

答案 3 :(得分:0)

运行以下命令以安装backend_tkagg

对于centos- sudo yum安装python-matplotlib-tk

这应该有效。