我有这样的导入和代码:
import pandas as pd
import numpy as np
import statsmodels.formula.api as sm
import matplotlib.pyplot as plt
#Read the data from pydatasets repo using Pandas
url = './file.csv'
white_side = pd.read_csv(url)
#Fitting the model
model = sm.ols(formula='budget ~ article_size',
data=white_side,
subset=white_side['producer'] == "Peter Jackson")
fitted = model.fit()
print fitted.summary()
执行此代码后,我遇到了这样的错误:
/usr/bin/python2.7 /home/seth/PycharmProjects/osiris_project/PMN_way/start.py
Traceback (most recent call last):
File "/home/seth/PycharmProjects/osiris_project/PMN_way/start.py", line 5, in <module>
import matplotlib.pyplot as plt
File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
ImportError: No module named backend_tkagg
Process finished with exit code 1
我正在使用openSUSE和pycharm社区版最新版本,已安装pandas,numpy等 我该如何解决这个问题?
答案 0 :(得分:10)
我以前见过这个,也见过openSUSE(12.3)。修复是编辑默认的matplotlibrc文件。
以下是您如何找到默认matplotlibrc文件所在的位置以及它在我的计算机上的位置:
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
'/usr/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc'
后端设置是此文件中的第一个配置选项。将其从TkAgg
更改为Agg
,或更改为系统上已安装的其他后端。 matplotlibrc文件中的注释列出了matplotlib支持的所有后端。
此文件中指定的后端仅为默认值;您仍然可以在运行时通过在任何其他matplotlib导入之前添加以下两行来更改它:
import matplotlib
matplotlib.use("Agg") # or whichever backend you wish to use
答案 1 :(得分:8)
我使用openSuse 13.1并且遇到了相同的错误“ImportError:没有名为backend_tkagg的模块”。
我使用这个建议解决了这个问题:http://forums.opensuse.org/showthread.php/416182-Python-matplolib。
我已经安装了python-matplotlib-tk软件包,现在工作正常。
E.g。您可以使用:zypper install python-matplotlib-tk
答案 2 :(得分:3)
我尝试了各种解决方案,只有这对我有用:
sudo pip install matplotlib --upgrade
答案 3 :(得分:1)
我能够通过添加
来解决这个问题import matplotlib.backends.backend_tkagg
以上
import matplotlib.pyplot as plt
注意,我在尝试运行使用Py2exe
生成的可执行文件时收到了同样的错误。
以下是我从命令提示符运行TheProgram.exe时得到的内容:
>>TheProgram.exe
Traceback (most recent call last):
File "ThePythonScriptToMakeIntoExe.py", line 14, in <module>
File "C:\Python34\lib\site-packages\matplotlib\pyplot.py", line 109, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "C:\Python34\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
ImportError: No module named 'matplotlib.backends.backend_tkagg'
答案 4 :(得分:0)
答案 5 :(得分:0)
我之前遇到过这个问题,我使用了3.0.0版的matplotlib旧版本解决了该问题
如果您没有此版本,请尝试pip install matplotlib==3.0.0
希望这对您有所帮助!
答案 6 :(得分:0)
在使用 2.2.2 版本进行实时绘图时,我遇到了这个问题。尝试了以下内容:
pip install matplotlib==3.0.0 --user
它仍然是一个较旧的版本,但是它起作用了。