Por que não consigo importar "pygtk" com o Python 3.2 do PyDev?

13

Eu instalei o Eclipse + PyDev + Python 3.2. Agora eu tenho dois intérpretes Python no PyDev: Python 2.7 e Python 3.2. Se eu tentar executar o comando import pygtkcom o interpretador 2.7, ele funcionará bem, mas com o Python 3.2 ele aumentará ImportError: No module named pygtk.

Como faço para que o PyGTK funcione com o Python 3.2?

Novarchibald
fonte

Respostas:

24

O PyGTK foi descontinuado em favor do PyGI + GTK. Por isso, uma versão do PyGTK para Python 3 nunca foi escrita.

Para usar o PyGI + GTK no Python 3, é necessário instalar o pacote python3-gobject e fazer

from gi.repository import Gtk

Para uma rápida introdução sobre como portar o código PyGTK para PyGI + GTK, veja aqui:

https://live.gnome.org/PyGObject/IntrospectionPorting

Para um tutorial completo, veja aqui:

http://readthedocs.org/docs/python-gtk-3-tutorial/en/latest/index.html

Marcelo Hashimoto
fonte
"uma versão do PyGTK para Python 3 nunca foi escrita." - não é isso que o site pygtk diz - você quer dizer que nunca foi empacotado para o ubuntu?
Random832
Não, quero dizer que nunca foi escrito. O que exatamente você viu no site pygtk?
Marcelo Hashimoto
Eu interpretei algo errado sobre o PyGObject - é confuso que haja anúncios sobre isso no site do PyGTK:> O PyGobject 2.26.0 foi lançado. Esta é a primeira versão estável da série 2.26.x e apresenta suporte inicial para introspecção e Python 3. Como sempre, as fontes podem ser buscadas a partir daqui. Confira o comunicado de lançamento e a lista completa de alterações.
Random832
6

Uma pequena adição: python3-gobject foi renomeada python3-gi no Precise. Você ainda pode instalar através do nome antigo, mas se não precisar suportar nada mais antigo que o Precise, use python3-gi no seu debian / control.

jderose
fonte