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
, все без везения.
Любые советы будут очень признательны!
Ответы
Ответ 1
В Gtk + 3 Связи Python с бинарными модулями генерируются динамически с использованием баз данных *.typelib
. Динамический импортер для доступа ко всем модулям расположен в gi.repository
. PyCharm не может обнаружить эти модули, используя его понимание кода, потому что они требуют специальной обработки.
Я подал запрос на эту проблему: PY-6932. Не стесняйтесь голосовать за него.
Ответ 2
Расположите текстовый курсор внутри выделенного Gtk
в:
from gi.repository import Gtk
нажмите Alt + Enter и выберите "Создать заглушки для двоичного модуля"