Чому я не можу імпортувати "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?

Відповіді:


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?
Випадково832

Ні, я маю на увазі, це ніколи не було написано. Що саме ви бачили на веб-сайті pygtk?
Марсело Хашимото

Я неправильно читав щось про PyGObject - це заплутано, що на веб-сайті PyGTK є повідомлення про це:> PyGobject 2.26.0 був випущений. Це перший стабільний випуск у серії 2.26.x та представляє початкову підтримку самоаналізу та Python 3. Як завжди, джерела можна отримати звідси. Перегляньте оголошення про випуск та повний список змін.
Випадково832

6

Одне невелике доповнення: python3-gobject було перейменовано на python3-gi в Precision . Ви все ще можете встановити за допомогою старого імені, але якщо вам не потрібно підтримувати нічого старшого за Precision , використовуйте python3-gi у своєму debian / control.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.