Почему я не могу импортировать «pygtk» с Python 3.2 из PyDev?

13

Я установил Eclipse + PyDev + Python 3.2. Теперь у меня есть два интерпретатора Python в PyDev: Python 2.7 и Python 3.2. Если я пытаюсь выполнить команду import pygtkс интерпретатором 2.7, он работает нормально, но с Python 3.2 это повышает ImportError: No module named pygtk.

Как я могу заставить PyGTK работать с Python 3.2?

Novarchibald
источник

Ответы:

24

PyGTK устарела в пользу PyGI + GTK. Из-за этого версия PyGTK для Python 3 так и не была написана.

Чтобы использовать PyGI + GTK в Python 3, вам нужно установить пакет python3-gobject и сделать

from gi.repository import Gtk

Для быстрого ознакомления с переносом кода PyGTK на PyGI + GTK см. Здесь:

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

Полный урок смотрите здесь:

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

Марсело Хасимото
источник
«версия PyGTK для Python 3 никогда не была написана». - это не то, что говорит сайт pygtk - ты имеешь в виду, что он никогда не был упакован для Ubuntu?
Random832
Нет, я имею в виду, что это никогда не было написано. Что именно вы видели на сайте pygtk?
Марсело Хасимото
Я неправильно прочитал что-то о PyGObject - это сбивает с толку, что на сайте PyGTK есть объявления об этом:> PyGobject 2.26.0 был выпущен. Это первый стабильный выпуск в серии 2.26.x, в котором представлена ​​начальная поддержка самоанализа и Python 3. Как обычно, источники можно получить отсюда. Ознакомьтесь с объявлением о выпуске и полным списком изменений.
Random832
6

Одно небольшое дополнение: python3-gobject был переименован в python3-gi в Precise. Вы все еще можете установить его по старому имени, но если вам не нужно поддерживать что-то более старое, чем Precise, используйте python3-gi в вашем debian / control.

jderose
источник