如何强制我的virtualenv看到在系统级安装的这个编译模块?

前端之家收集整理的这篇文章主要介绍了如何强制我的virtualenv看到在系统级安装的这个编译模块?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在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中

我确实试图强迫@L_403_1@手:

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 "

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

最佳答案
您应该使用–system-site-packages选项创建virtualenv,以使所有系统包可见.当您只需要一个外部包时,将外部包混合到virtualenv的结构中也适用于大多数情况.

猜你在找的Python相关文章