我在Ubuntu 11.10上使用PyCharm 2.5,尝试在Python 3.2.2上使用PyGObject 3.0开发应用程序。我已经安装了Ubuntu软件包python3-gobject,当我运行我的代码时,它的工作方式完全符合预期。
然而,PyCharm似乎无法找到任何PyGObject模块。当我在导入语句中将鼠标悬停在Gtk上时,它会显示Unresolved refrence: '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,然后尝试从site-packages/gi/overrides
到site-packages/gi/repository
的所有.py文件创建符号链接,所有这些都没有运气。
非常感谢任何建议!
答案 0 :(得分:47)
将文本光标放在红线Gtk
中:
from gi.repository import Gtk
点击 Alt + 输入并选择“为二进制模块生成存根”
答案 1 :(得分:29)
在Gtk + 3中,使用*.typelib
数据库动态生成对二进制模块的Python绑定。用于访问所有模块的动态导入程序位于gi.repository
。 PyCharm无法使用其代码洞察来检测这些模块,因为它们需要特殊处理。
我已就此问题提交了功能请求:PY-6932。随意投票。