Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImportError: No module named backend_tkagg

I have such imports and code:

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()

After execution of this code I have such errors:

/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

I`m using openSUSE and pycharm community edition latest version with installed pandas, numpy, etc How can i fix this problem?

like image 413
smith Avatar asked Dec 14 '13 10:12

smith


4 Answers

I faced this issue before, I solved it by using an old version of matplotlib which is version 3.0.0 if you don't have this version try pip install matplotlib==3.0.0 hope this was helpful!

like image 85
Mostafa Wael Avatar answered Sep 17 '22 18:09

Mostafa Wael


I've seen this before, also on openSUSE (12.3). The fix is to edit the default matplotlibrc file.

Here's how you find where the default matplotlibrc file lives, and where it lives on my machine:

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

The backend setting is the first configuration option in this file. Change it from TkAgg to Agg, or to some other backend you have installed on your system. The comments in the matplotlibrc file list all backends supported by matplotlib.

The backend specified in this file is only the default; you can still change it at runtime by adding the following two lines, before any other matplotlib import:

import matplotlib
matplotlib.use("Agg")  # or whichever backend you wish to use
like image 9
Luke Woodward Avatar answered Oct 23 '22 16:10

Luke Woodward


I use openSuse 13.1 and had the same error "ImportError: No module named backend_tkagg".

I solved it by using this suggestion: http://forums.opensuse.org/showthread.php/416182-Python-matplolib.

I've installed the python-matplotlib-tk package, and now it is working just fine.

E.g. you can use: zypper install python-matplotlib-tk

like image 8
Sepp Avatar answered Oct 23 '22 16:10

Sepp


I tried various solutions, only this works for me:

sudo pip install matplotlib --upgrade
like image 5
Yuchao Jiang Avatar answered Oct 23 '22 16:10

Yuchao Jiang