我有这样的导入和代码。
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等如何解决这个问题?
我以前也见过这种情况,也是在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
我使用的是openSuse 13.1,出现了同样的错误 "ImportError.No module named backend_tkagg"。No module named backend_tkagg"。
我使用这个建议解决了这个问题。http:/forums.opensuse.orgshowthread.php416182-Python-matplolib。.
我已经安装了python-matplotlib-tk包,现在运行得很好。
例如,你可以使用: zypper install python-matplotlib-tk
我试了很多方法,只有这个对我有用。
sudo pip install matplotlib --upgrade
我可以通过以下方法来解决这个问题
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'