[英]py2exe `ImportError: No module named 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
它仍然是一個舊版本,但它有效。
我之前遇到過這個問題,我通過使用舊版本的 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.