PyCharm 无法解析 PyGObject 3.0,但代码运行良好
Posted
技术标签:
【中文标题】PyCharm 无法解析 PyGObject 3.0,但代码运行良好【英文标题】:PyCharm can not resolve PyGObject 3.0, but code runs fine 【发布时间】:2012-07-10 04:50:05 【问题描述】:我在 Ubuntu 11.10 上使用 PyCharm 2.5,尝试在 Python 3.2.2 上使用 PyGObject 3.0 开发应用程序。我已经安装了 Ubuntu 包 python3-gobject,当我运行我的代码时,它完全可以按预期工作。
但是,PyCharm 似乎找不到任何 PyGObject 模块。当我在 import 语句中将鼠标悬停在 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 文件创建符号链接,但都没有成功。
任何建议将不胜感激!
【问题讨论】:
【参考方案1】:将文本光标定位在红线Gtk
中:
from gi.repository import Gtk
点击 Alt + Enter 并选择“为二进制模块生成存根”
【讨论】:
【参考方案2】:在 Gtk+ 3 中,Python 对二进制模块的绑定是使用 *.typelib
数据库动态生成的。访问所有模块的动态导入器位于gi.repository
。 PyCharm 无法使用其代码洞察力检测这些模块,因为它们需要特殊处理。
我已为此问题提交功能请求:PY-6932。请随意投票。
【讨论】:
啊,PyGObject 确实很花哨。为您的功能投票,也许有一天我们可以拥有它! :D 另外,还有其他 IDE 支持吗?我即将开发一个中等大小的 GTK+ 3 应用程序,并且希望有一个好的 IDE 用于它。这个功能会被称为什么,以便我可以搜索它? 你可以使用 bpython 或 bpython3 问题已解决。从支持中,它说:“在from gi.repository import Gt<caret>k
上点击Alt + Enter
并选择“为二进制模块生成存根”“并且它起作用了!
请通过***.com/a/33646560/57952的解决方案更新您的答案以上是关于PyCharm 无法解析 PyGObject 3.0,但代码运行良好的主要内容,如果未能解决你的问题,请参考以下文章
使用 Pygobject 和 Python 3 从内存数据中显示图像