簡體   English   中英

導入錯誤:沒有名為 backend_tkagg 的模塊

[英]ImportError: No module named 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 社區版最新版本,並安裝了 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”。

我使用這個建議解決了這個問題: http : //forums.opensuse.org/showthread.php/416182-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'

我在使用2.2.2版本進行實時繪圖時遇到了這個問題。 嘗試了以下方法:

pip install matplotlib==3.0.0 --user

它仍然是一個舊版本,但它有效。

我在啟動python之前通過設置變量解決了這個問題

export MPLBACKEND=Agg; python3

取自這里

我之前遇到過這個問題,我通過使用舊版本的 matplotlib 解決了它,如果你沒有這個版本,請嘗試pip install matplotlib==3.0.0希望這對你有幫助!

我為那些使用 CARLA Simulator 可能遇到此問題的人添加了我的答案。

使用 Python 3.6 並安裝 matplotlib v 2.2.5 為我解決了這個問題。

要刪除 matplotlib 並安裝正確的版本,您可以運行

pip uninstall -r requirements.txt

然后將matplotlib==2.2.5添加到需求文件並運行pip install -r requirements.txt --user以安裝正確的版本。

如果您丟失了 requirements.txt 文件,請點擊此處

Pillow>=3.1.2
numpy>=1.14.5
protobuf>=3.6.0
pygame>=1.9.4
matplotlib==2.2.5
future>=0.16.0
scipy>=0.17.0

如果您有不同的 python 版本,並且您想使用特定的 python 版本, py -<version>將使用正確的 python 版本。

警告:更改當前 Python 版本的 Path 變量可能很危險,特別是對於 linux 用戶,它可能會導致您無法再次打開終端。 這是因為不同的 Python 版本可能與您使用的當前 pip 版本不兼容。 如果對您來說太晚了並且您已經弄亂了您的終端,您可以訪問本教程來解決您的問題。

完成所有修復后,您可能仍會收到此錯誤:

TypeError: blit() got an unexpected keyword argument 'colormode'

因此,您可能想要編輯live_plotter.py文件並從將其傳遞給blit()方法的所有行中刪除colormode屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM