我正在尝试从使用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'])
答案 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站点。
答案 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
这应该有效。