2012-08-05 11 views
5

Instalé el paquete python-gconf en Ubuntu 12.04 y jugué con él: es un enlace pitón a la herramienta de configuración gnome, y no hay ningún paquete pypi para él.¿Cómo forzar a mi virtualenv a ver este módulo compilado instalado a nivel del sistema?

Tan pronto como he creado un virtualenv (sin--no-site-packages), cualquier intento de importar gconf llevaría a ImportError.

El módulo gconf funciona bien en el nivel del sistema, pero no en el env virtual. Investigué, y al abrir python-gconf.deb me enseñaron que es solo un binario gconf.so.

en busca de ella me dice que ha sido instalado en /home/lib/python2.7/dist-packages/gtk-2.0/gconf.so

Traté de forzar las manos Python:

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

Pero sólo dio lugar a:

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

Así que supongo que es muy dependiente de GTK.

+0

su versión de virtualenv tiene '--system-site-packages'. '--no-site-packages' está obsoleto. – jfs

+0

Gracias J.F. Ese fue el problema. Debes escribirlo como respuesta para poder apoyarte. –

Respuesta

4

Debe crear su virtualenv con la opción --system-site-packages para hacer visibles todos los paquetes del sistema. La vinculación de paquetes externos en la estructura de virtualenv también funciona para la mayoría de las situaciones cuando solo se necesita un paquete externo.

+0

Representante fácil, amigo :-) –

0

Si ya ha creado su entorno virtual, simplemente elimine el archivo no-global-site-packages.txt para ver los paquetes del sistema.

Cuestiones relacionadas