Warum kann ich "pygtk" nicht mit Python 3.2 aus PyDev importieren?


13

Ich habe Eclipse + PyDev + Python 3.2 installiert. Jetzt habe ich zwei Python-Interpreter in PyDev: Python 2.7 und Python 3.2. Wenn ich versuche, den Befehl import pygtkmit dem 2.7-Interpreter auszuführen , funktioniert er einwandfrei, aber mit Python 3.2 wird er ausgelöst ImportError: No module named pygtk.

Wie kann ich PyGTK zur Arbeit mit Python 3.2 bringen?

Antworten:


24

PyGTK wurde zugunsten von PyGI + GTK abgelehnt. Aus diesem Grund wurde nie eine Version von PyGTK für Python 3 geschrieben.

Um PyGI + GTK in Python 3 zu verwenden, müssen Sie das Paket python3-gobject installieren und ausführen

from gi.repository import Gtk

Eine kurze Einführung zum Portieren von PyGTK-Code nach PyGI + GTK finden Sie hier:

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

Eine vollständige Anleitung finden Sie hier:

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


"Eine Version von PyGTK für Python 3 wurde nie geschrieben." - das steht nicht auf der pygtk-website - meinst du, es wurde nie für ubuntu gepackt?
Random832

Nein, ich meine, es wurde nie geschrieben. Was genau haben Sie auf der pygtk-Website gesehen?
Marcelo Hashimoto

Ich habe etwas über PyGObject falsch verstanden - es ist verwirrend, dass es Ankündigungen dazu auf der PyGTK-Website gibt:> PyGobject 2.26.0 wurde veröffentlicht. Dies ist die erste stabile Version in der 2.26.x-Reihe und führt die erste Unterstützung für Introspection und Python 3 ein. Wie üblich können von hier Quellen abgerufen werden. Lesen Sie die Release-Ankündigung und die vollständige Liste der Änderungen.
Random832

6

Ein kleiner Zusatz: python3-gobject wurde umbenannt in Precise python3-gi umbenannt. Sie können weiterhin über den alten Namen installieren, aber wenn Sie nichts älteres als Precise unterstützen müssen, verwenden Sie python3-gi in Ihrem debian / control.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.