Подтвердить что ты не робот

PyCharm не может разрешить PyGObject 3.0, но код работает нормально

Я использую PyCharm 2.5 на Ubuntu 11.10, пытаясь разработать приложение с использованием PyGObject 3.0 на Python 3.2.2. Я установил пакет python3-gobject Ubuntu, и когда я запустил свой код, он работает точно так, как ожидалось.

Однако PyCharm не может найти ни одного из модулей PyGObject. Он говорит Unresolved refrence: 'Gtk', когда я наводил курсор на Gtk в моей инструкции импорта, и, конечно же, ни одно из автозаполнений не работает.

Это мой код:

#!/usr/bin/env python3

from gi.repository import Gtk

win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

Я даже попытался создать виртуальную среду python, а затем установил PyGObject из источника в него, а затем даже попытался сделать символические ссылки из всех .py файлов в site-packages/gi/overrides до site-packages/gi/repository, все без везения.

Любые советы будут очень признательны!

4b9b3361

Ответ 1

В Gtk + 3 Связи Python с бинарными модулями генерируются динамически с использованием баз данных *.typelib. Динамический импортер для доступа ко всем модулям расположен в gi.repository. PyCharm не может обнаружить эти модули, используя его понимание кода, потому что они требуют специальной обработки.

Я подал запрос на эту проблему: PY-6932. Не стесняйтесь голосовать за него.

Ответ 2

Расположите текстовый курсор внутри выделенного Gtk в:

from gi.repository import Gtk

нажмите Alt + Enter и выберите "Создать заглушки для двоичного модуля"