导入错误,没有名为backend_tkagg的模块。没有名为backend_tkagg的模块

问题描述 投票:13回答:5

我有这样的导入和代码。

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等如何解决这个问题?

python numpy module pycharm python-module
5个回答
10
投票

我以前也见过这种情况,也是在openSUSE(12.3)上。 修复方法是编辑默认的matplotlibrc文件。

下面是如何找到默认 matplotlibrc 文件的位置,以及它在我的机器上的位置。

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

后台设置是这个文件中的第一个配置选项. 将它从 TkAggAgg或者你在系统中安装的其他后端。 matplotlibrc文件中的注释列出了matplotlib支持的所有后端。

这个文件中指定的后台只是默认的,你仍然可以在运行时通过添加以下两行来改变它。在任何其他matplotlib导入之前:

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

8
投票

我使用的是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


5
投票

我试了很多方法,只有这个对我有用。

sudo pip install matplotlib --upgrade

2
投票

我可以通过以下方法来解决这个问题

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'

0
投票

我通过在启动python前设置变量来解决这个问题

export MPLBACKEND=Agg; python3

取自 此处.

© www.soinside.com 2019 - 2024. All rights reserved.