28

我在 Ubuntu 11.10 上使用 PyCharm 2.5,尝试在 Python 3.2.2 上使用 PyGObject 3.0 开发应用程序。我已经安装了 Ubuntu 包 python3-gobject,并且当我运行我的代码时,它完全按预期工作。

但是,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/overridesto 中site-packages/gi/repository,但都没有成功。

任何建议将不胜感激!

4

2 回答 2

58

将文本光标定位在红线Gtk内:

from gi.repository import Gtk

点击Alt+Enter并选择“为二进制模块生成存根”

于 2015-11-11T08:17:05.787 回答
32

在 Gtk+ 3 中,Python 与二进制模块的绑定是使用*.typelib数据库动态生成的。用于访问所有模块的动态导入器位于gi.repository. PyCharm 无法使用其代码洞察力检测这些模块,因为它们需要特殊处理。

我已经为此问题提交了功能请求:PY-6932。随意投票。

于 2012-07-10T17:37:43.467 回答