Dlaczego nie mogę zaimportować „pygtk” z Python 3.2 z PyDev?

13

Zainstalowałem Eclipse + PyDev + Python 3.2. Teraz mam dwa interpretery języka Python w PyDev: Python 2.7 i Python 3.2. Jeśli spróbuję wykonać polecenie za import pygtkpomocą interpretera 2.7, to działa dobrze, ale w Pythonie 3.2 podnosi się ImportError: No module named pygtk.

Jak mogę zmusić PyGTK do pracy z Python 3.2?

Novarchibald
źródło

Odpowiedzi:

24

PyGTK zostało wycofane na korzyść PyGI + GTK. Z tego powodu nigdy nie napisano wersji PyGTK dla Pythona 3.

Aby używać PyGI + GTK w Pythonie 3, musisz zainstalować pakiet python3-gobject i zrobić

from gi.repository import Gtk

Aby zapoznać się z krótkim wprowadzeniem kodu PyGTK do PyGI + GTK, zobacz tutaj:

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

Pełny samouczek można znaleźć tutaj:

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

Marcelo Hashimoto
źródło
„nigdy nie napisano wersji PyGTK dla Pythona 3”. - nie tak mówi strona internetowa pygtk - czy masz na myśli, że nigdy nie była spakowana dla Ubuntu?
Random832,
Nie, to znaczy, nigdy nie było napisane. Co dokładnie widziałeś na stronie internetowej pygtk?
Marcelo Hashimoto,
Źle odczytałem coś o PyGObject - mylące jest to, że na stronie PyGTK są ogłoszenia o tym:> PyGobject 2.26.0 został wydany. Jest to pierwsza stabilna wersja z serii 2.26.x. Wprowadza ona początkową obsługę introspekcji i Pythona 3. Jak zwykle źródła można pobrać z tego miejsca. Sprawdź ogłoszenie o wydaniu i pełną listę zmian.
Random832
6

Jeden mały dodatek: python3-gobject został przemianowany na python3-gi w Precise. Nadal możesz instalować za pomocą starej nazwy, ale jeśli nie potrzebujesz obsługiwać niczego starszego niż Precise, użyj Python3-gi w twoim debian / control.

jderose
źródło