我在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。
答案 0 :(得分:4)
您应该使用--system-site-packages
选项创建virtualenv,以使所有系统包都可见。在只需要一个外部包的情况下,将外部包混合到virtualenv的结构中也适用于大多数情况。
答案 1 :(得分:0)
如果您已经创建了虚拟环境,只需从中删除no-global-site-packages.txt
文件即可查看系统软件包。