2012-08-05 3 views
5

Ich installierte das Paket Python-Gconf auf Ubuntu 12.04 und spielte damit: es ist eine Python-Bindung an das Gnome-Konfigurationstool, und es gibt kein Pypi-Paket dafür.Wie erzwinge ich mein virtualenv zu sehen, dieses kompilierte Modul auf Systemebene installiert?

Sobald ich eine virtualenv erstellt (ohne--no-site-packages), jeder Versuch, gconf zu importieren würde zu ImportError führen.

Das Modul gconf funktioniert auf Systemebene, aber nicht im virtuellen env. Ich untersuchte und öffne python-gconf.deb erklärte mir, dass es nur ein gconf.so Binär ist.

es Searching sagt mir, es in /home/lib/python2.7/dist-packages/gtk-2.0/gconf.so

installiert worden ist habe ich versucht Python Hände zu zwingen:

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

Aber es führte nur in:

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

So vermute ich, es zu GTK sehr abhängig ist.

+0

hat Ihre Version von virtualenv '--system-site-packages'. '--no-site-packages' ist veraltet. – jfs

+0

Dank J.F. Das war das Problem. Du solltest es als Antwort schreiben, damit ich dich auffrischen kann. –

Antwort

4

Sie sollten Ihre virtualenv mit der Option --system-site-packages erstellen, um alle Systempakete sichtbar zu machen. Das Symlining externer Pakete in die Struktur von virtualenv funktioniert auch in den meisten Situationen, in denen Sie nur ein externes Paket benötigen.

+0

Einfacher Rep, Kumpel :-) –

0

Wenn Sie Ihre virtuelle Umgebung bereits erstellt haben, entfernen Sie einfach die Datei no-global-site-packages.txt, um die Systempakete anzuzeigen.

Verwandte Themen