在尝试运行this示例来测试matplotlib如何与Tkinter一起工作时,我收到错误:
(env)fieldsofgold@fieldsofgold-VirtualBox:~/new$ python test.py
Traceback (most recent call last):
File "test.py", line 7, in <module>
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
File "/home/fieldsofgold/new/env/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 13, in <module>
import matplotlib.backends.tkagg as tkagg
File "/home/fieldsofgold/new/env/local/lib/python2.7/site-packages/matplotlib/backends/tkagg.py", line 7, in <module>
from matplotlib.backends import _tkagg
ImportError: cannot import name _tkagg
使用here提供的解决方案,我尝试使用以下命令卸载matplotlib并安装tk和tk-dev软件包:
sudo apt-get install tk8.5
sudo apt-get install tk-dev
然后再由pip install matplotlib
重新安装matplotlib,但我仍然得到同样的错误。任何帮助,将不胜感激。我在VirtualBox上使用Ubuntu 14.04并在virtualenv环境中工作。非常感谢。
我刚刚碰到了这个(Ubuntu 15.10,但同样的想法)并修复了它:
sudo apt-get install tk-dev
pip uninstall -y matplotlib
pip --no-cache-dir install -U matplotlib
我认为第三步是关键步骤;如果允许缓存,则pip
似乎只是使用先前构建的matplotlib
安装。
您也可以手动删除以前构建的matplotlib;在Ubuntu它住在~/.cache/pip
的某个地方。 (遗憾的是,我无法找到pip清理缓存的方法。)
请尝试以下方案:
sudo apt-get update
sudo apt-get install tk tk-dev
sudo pip uninstall matplotlib
sudo pip install matplotlib
编辑:
尝试:
sudo pip uninstall matplotlib
sudo apt-get install python-matplotlib
Aaditi:
sudo apt-get install tk8.6-dev
sudo apt-get remove python-matplotlib
sudo apt-get install python-matplotlib
this question的一个答案表明该错误是由于缺少Visual Studio 2015的Visual C ++ Redistributable。安装它解决了我的问题。