¿Por qué no puedo importar "pygtk" con Python 3.2 desde PyDev?

13

He instalado Eclipse + PyDev + Python 3.2. Ahora tengo dos intérpretes de Python en PyDev: Python 2.7 y Python 3.2. Si intento ejecutar el comando import pygtkcon el intérprete 2.7, funciona bien, pero con Python 3.2 aumenta ImportError: No module named pygtk.

¿Cómo puedo hacer que PyGTK funcione con Python 3.2?

Novarchibald
fuente

Respuestas:

24

PyGTK ha quedado en desuso a favor de PyGI + GTK. Por eso, nunca se escribió una versión de PyGTK para Python 3.

Para usar PyGI + GTK en Python 3, debe instalar el paquete python3-gobject y hacer

from gi.repository import Gtk

Para una introducción rápida sobre cómo portar código PyGTK a PyGI + GTK, consulte aquí:

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

Para un tutorial completo, vea aquí:

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

Marcelo Hashimoto
fuente
"nunca se escribió una versión de PyGTK para Python 3". - eso no es lo que dice el sitio web de pygtk - ¿quieres decir que nunca fue empaquetado para ubuntu?
Random832 el
No, quiero decir que nunca fue escrito. ¿Qué viste exactamente en el sitio web de pygtk?
Marcelo Hashimoto
Leí mal algo sobre PyGObject; es confuso que haya anuncios al respecto en el sitio web de PyGTK:> Se ha publicado PyGobject 2.26.0. Esta es la primera versión estable de la serie 2.26.x e introduce el soporte inicial para introspección y Python 3. Como de costumbre, las fuentes se pueden obtener desde aquí. Consulte el anuncio de lanzamiento y la lista completa de cambios.
Random832
6

Una pequeña adición: python3-gobject pasó a llamarse python3-gi en Precise. Todavía puede instalar a través del nombre anterior, pero si no necesita admitir algo más antiguo que Precise, use python3-gi en su debian / control.

jderose
fuente