IPython中奇怪的模块自动完成行为

IPython中奇怪的模块自动完成行为,python,ipython,Python,Ipython,明白我的意思吗?起初,它只显示了RB和absolute\u import作为选项。我仍然能够导入Gtk。之后,它显示了更多的选择。仍然不是一个完整的模块列表。如果我导入了一些其他模块(我从文档中知道),那么它就会出现在列表中 (我之前发布了一个类似的问题,但我无法很好地解释它,因此我再次发布了更详细的问题)自动完成尝试确定您所问问题的可能价值。repository可能是在导入时定义内容的,所以在实际导入之前,您无法正确地获取所有内容 例如,如果您重写了对象的\uuu getattr\uuu方法,

明白我的意思吗?起初,它只显示了
RB
absolute\u import
作为选项。我仍然能够导入
Gtk
。之后,它显示了更多的选择。仍然不是一个完整的模块列表。如果我导入了一些其他模块(我从文档中知道),那么它就会出现在列表中


(我之前发布了一个类似的问题,但我无法很好地解释它,因此我再次发布了更详细的问题)

自动完成尝试确定您所问问题的可能价值。repository可能是在导入时定义内容的,所以在实际导入之前,您无法正确地获取所有内容

例如,如果您重写了对象的
\uuu getattr\uuu
方法,则可以使其响应任意数量的键,而无法列出它们

要知道确切的原因,您应该深入研究的代码(PyGI本身似乎已经被弃用了3年,取而代之的是pygobject),从快速通读来看,它是GObject的一个完全动态的绑定,在导入时通过检查GObject来真正构建自己


因此,我不会对这样一个模块在完成制表符时有奇怪的行为感到惊讶。

您应该添加一个相关问题的链接。现在就有意义了。所以在PyGTK项目中使用IDE一定很棘手吧?由于代码完成不能正常工作,它将给出关于不存在的模块/类的错误指示。当然代码会运行,但是编辑它会很痛苦。