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.