web-dev-qa-db-ja.com

ImportError: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

Pandas、numpyなどがインストールされたopenSUSEとpycharmコミュニティエディションの最新バージョンを使用しています。この問題を解決するにはどうすればよいですか?

13
smith

これは、openSUSE(12.3)でも見たことがあります。修正は、デフォルトのmatplotlibrcファイルを編集することです。

デフォルトのmatplotlibrcファイルがどこにあるか、そしてそれが私のマシンのどこにあるかを見つける方法は次のとおりです。

>>> import matplotlib
>>> matplotlib.matplotlib_fname()
'/usr/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc'

バックエンド設定は、このファイルの最初の構成オプションです。 TkAggからAgg、またはシステムにインストールした他のバックエンドに変更します。 matplotlibrcファイルのコメントには、matplotlibでサポートされているすべてのバックエンドがリストされています。

このファイルで指定されているバックエンドはデフォルトのみです。次の2行を追加することで、実行時に変更できます。他のmatplotlibインポートの前に

import matplotlib
matplotlib.use("Agg")  # or whichever backend you wish to use
10
Luke Woodward

OpenSuse 13.1を使用しましたが、同じエラー「ImportError:No modulenamedbackend_tkagg」が発生しました。

私はこの提案を使用してそれを解決しました: http://forums.opensuse.org/showthread.php/416182-Python-matplolib

Python-matplotlib-tkパッケージをインストールしましたが、正常に動作しています。

例えば。使用できます:zypper install python-matplotlib-tk

8
Sepp

私はさまざまな解決策を試しましたが、これだけがうまくいきます:

Sudo pip install matplotlib --upgrade
5
Yuchao Jiang

置くことでこれを修正することができました

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
user3731622