Pakiet Pythona zainstalowany globalnie, ale nie w virtualenv (PyGTK)

Mam pewne dziwne problemy z PyGTK w „virtualenv”. gtk nie importuje w moim virtualenv, podczas gdy importuje w mojej globalnej instalacji Pythona. (Nie miałem tego szczególnego problemu w zeszłym tygodniu, zgadując, że coś zaktualizowało oprogramowanie.)

Czy istnieje dobry sposób na rozwiązanie tego problemu?

Pokazano tutaj: importowanie gtk globalnie,

tom@zeppelin:~$ python
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:12:17) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>> gtk
<module 'gtk' from '/usr/lib/pymodules/python2.7/gtk-2.0/gtk/__init__.pyc'>

a następnie nie można zaimportować gtk,

tom@zeppelin:~$ workon py27
(py27)tom@zeppelin:~$ python
Python 2.7.1+ (r271:86832, Sep 27 2012, 21:12:17) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named gtk

Niestety, złamało to moje środowisko ipython --pylab:http://pastebin.com/mM0ur7Hc

AKTUALIZACJA: Udało mi się to naprawić, dodając dowiązania symboliczne zgodnie z sugestią grepic / tego wątku:Python: virtualenv - gtk-2.0

z niewielką różnicą, mianowicie, że mój pakiet „cairo” znajdował się w/usr/lib/pymodules/python2.7/cairo/ raczej niż w/usr/lib/python2.7/dist-packages/cairo.

DRUGA AKTUALIZACJA: Uznałem również za przydatne dodanie następujących wierszy do mojegovenv/bin/activate:

export PYTHONPATH=$PYTHONPATH:/home/tom/.virtualenvs/py27/lib/python2.7/dist-packages
export PYTHONPATH=$PYTHONPATH:/home/tom/.virtualenvs/py27/lib/python2.7/dist-packages/gtk-2.0
export PYTHONPATH=$PYTHONPATH:/usr/lib/pymodules/python2.7/gtk-2.0

(Podejrzewam, że jedna lub więcej z nich jest niepotrzebna, ale zbyt długo się nią zajmowałem i postanowiłem przestać badać - moja konfiguracja działa teraz, więc jestem zadowolony.)

Problem rozwiązany! Dziękuję wszystkim.

questionAnswers(5)

yourAnswerToTheQuestion