Pourquoi ne puis-je pas importer «pygtk» avec Python 3.2 depuis PyDev?

13

J'ai installé Eclipse + PyDev + Python 3.2. Maintenant, j'ai deux interprètes Python dans PyDev: Python 2.7 et Python 3.2. Si j'essaie d'exécuter la commande import pygtkavec l'interpréteur 2.7, cela fonctionne bien, mais avec Python 3.2, il augmente ImportError: No module named pygtk.

Comment puis-je faire fonctionner PyGTK avec Python 3.2?

Novarchibald
la source

Réponses:

24

PyGTK est déconseillé au profit de PyGI + GTK. Pour cette raison, une version de PyGTK pour Python 3 n'a jamais été écrite.

Pour utiliser PyGI + GTK dans Python 3, vous devez installer le paquet python3-gobject et faire

from gi.repository import Gtk

Pour une introduction rapide sur le portage du code PyGTK vers PyGI + GTK, voir ici:

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

Pour un tutoriel complet, voir ici:

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

Marcelo Hashimoto
la source
"une version de PyGTK pour Python 3 n'a jamais été écrite." - ce n'est pas ce que dit le site Web de pygtk - voulez-vous dire qu'il n'a jamais été emballé pour Ubuntu?
Random832
Non, je veux dire que cela n'a jamais été écrit. Qu'avez-vous vu exactement sur le site Web de pygtk?
Marcelo Hashimoto
J'ai mal lu quelque chose à propos de PyGObject - il est déroutant qu'il y ait des annonces à ce sujet sur le site Web de PyGTK:> PyGobject 2.26.0 a été publié. Il s'agit de la première version stable de la série 2.26.x et introduit la prise en charge initiale de l'introspection et de Python 3. Comme d'habitude, les sources peuvent être récupérées à partir d'ici. Consultez l'annonce de sortie et la liste complète des modifications.
Random832
6

Un petit ajout: python3-gobject a été renommé python3-gi dans Precise. Vous pouvez toujours installer via l'ancien nom, mais si vous n'avez pas besoin de prendre en charge quelque chose de plus ancien que Precise, utilisez python3-gi dans votre debian / control.

jderose
la source