我在Ubuntu12.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中。
我试着强迫蟒蛇的手:
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。
最佳答案
您应该使用--system-site-packages
选项创建virtualenv,使所有系统包都可见。当您只需要一个外部包时,将外部包符号链接到virtualenv的结构中也适用于大多数情况。
关于python - 如何强制我的virtualenv看到在系统级别安装此已编译模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11815272/