【发布时间】:2016-06-02 23:11:27
【问题描述】:
在虚拟环境中,尝试加载使用 matplotlib 的 GTKAgg 后端的脚本时,我因以下回溯而失败:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/user/.virtualenvs/venv/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 97, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/home/user/.virtualenvs/venv/local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/home/user/.virtualenvs/venv/local/lib/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
File "/home/user/.virtualenvs/venv/local/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 16, in <module>
raise ImportError("Gtk* backend requires pygtk to be installed.")
ImportError: Gtk* backend requires pygtk to be installed.
我为生成 ImportError 而运行的代码如下:
import matplotlib as mpl
mpl.use('GTKAgg')
import matplotlib.pyplot as plt
在停用我的虚拟环境后运行相同的代码时,一切顺利。
我认为这可能是由于版本差异;确实,我的机器上存在这样的差异。但是,虚拟环境中的版本更新(1.2.0 对 1.1.1rc),所以我预计支持不会减少。
如果不清楚:我的问题是如何允许在新版本的matplotlib 上导入带有GTKAgg 后端的pyplot,或者至少尝试了解此导入失败的原因。
【问题讨论】:
-
你让你的 virtualenv 看到系统包了吗?
-
我不确定。我该如何验证呢?不过,我的第一个猜测是,是的,它可以看到。
-
最后一点,mpl 的 1.1 和 1.2 版本都相当老了。
-
检查该解决方案是否适合您:stackoverflow.com/questions/42481911/…
标签: python matplotlib gtk pygtk