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?

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


„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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.