2013-12-14 15 views
8

我有這樣的進口和代碼:導入錯誤:沒有模塊名爲backend_tkagg

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社區版最新版本與安裝的熊貓,numpy等 我該如何解決這個問題?

回答

9

我以前見過這個,也是在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

很好的回答。官方的matplotlib配置示例:http://matplotlib.org/users/customizing.html – Plamen

+0

這不適合我。但是,我可以通過在導入matplotlib.pyplot之前導入後端模塊來修復錯誤。看到我的答案。我期望有比我更好的解決方案,包括指定後端模塊的路徑。 – user3731622

0

我能夠把

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' 
2

我嘗試了各種解決方案,只有這個工作對我來說:

sudo pip install matplotlib --upgrade 
+0

它的工作!謝謝 –

相關問題