4

我在 Ubuntu 12.04 上安装了包python-gconf并使用它:它是与 gnome 配置工具的 python 绑定,并且没有 pypi 包。

一旦我创建了一个 virtualenv(没有 --no-site-packages),任何导入的尝试gconf都会导致ImportError.

gconf模块在系统级别可以正常工作,但在虚拟环境中却不行。我调查了一下,打开python-gconf.deb告诉我它只是一个 gconf.so 二进制文件。

搜索它告诉我它已安装在/home/lib/python2.7/dist-packages/gtk-2.0/gconf.so

我确实试图强迫 Python 手:

sudo ln -s /usr/lib/python2.7/dist-packages/gtk-2.0/gconf.so ~/.virtualenvs/appetizer/lib/python2.7/site-packages/

但这只会导致:

>>> import gconf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: could not import gobject (error was: 'No module named gobject')

所以我猜它非常依赖于GTK。

4

2 回答 2

4

您应该使用--system-site-packages选项创建您的 virtualenv 以使所有系统包可见。当您只需要一个外部包时,将外部包符号链接到 virtualenv 的结构中也适用于大多数情况。

于 2012-08-05T10:24:53.040 回答
0

如果您已经创建了虚拟环境,只需no-global-site-packages.txt从中删除文件以使其看到系统包。

于 2016-12-01T06:10:31.337 回答