Python Gtk*后端需要安装pygtk
在虚拟环境中,尝试加载使用Python Gtk*后端需要安装pygtk,python,matplotlib,gtk,pygtk,Python,Matplotlib,Gtk,Pygtk,在虚拟环境中,尝试加载使用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&g
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.
在停用虚拟环境后运行相同的代码时,一切都很顺利
我认为这可能是由于版本差异造成的;事实上,我的机器上存在这种差异。但是,虚拟环境中的版本较新(1.2.0与1.1.1rc),因此我不希望得到更少的支持
如果不清楚:我的问题是如何允许在新版本的
matplotlib
上使用GTKAgg
后端导入pyplot
,或者至少尝试了解导入失败的原因。您可能通过以下方式创建了虚拟evn:
$ virtualenv ~/.virtualenvs/my_env
默认情况下,这不会看到任何系统安装的软件包(包括pygtk),因此当您尝试运行mpl时,它会正确地抱怨您没有安装pygtk,因为(在virtualenv的上下文中)您没有安装
您可以在virtualenv中构建和安装pygtk,也可以使用
$ virtualenv --system-site-packages ~/.virtualenvs/my_env
()这将使您的virtualenv从您的全局软件包继承。我不确定您是否在Ubuntu上,但要解决这个问题,我必须从源代码安装matplotlib才能使其正常工作。主要说明(来自)如下:
更改后端和使用--系统站点包对我不起作用。你让你的virtualenv看到系统包了吗?我不确定。我怎样才能证实这一点?然而,我的第一个猜测是,是的,它可以看到。最后一点,mpl的1.1和1.2版本都很旧。检查一下这个解决方案是否适合你:把它吹走,再做一个新的。这将花费我几个小时。我有这么多的软件包,其中有很多不容易安装。大多数软件包(至少在科学堆栈中)是使用
python setup.py install安装的。如果您不需要特定版本的东西,可以使用系统级打包安装,这将为您节省大量时间。此建议效果很好,只是为了避免写入系统路径,我不得不使用“pip安装--忽略已安装的matplotlib ipython[笔记本]”。
$ virtualenv --system-site-packages ~/.virtualenvs/my_env
$ workon plotting
$ pip uninstall matplotlib
$ git clone https://github.com/matplotlib/matplotlib.git
$ cd matplotlib
$ python setup.py install