IPython中的不规则模块检测/自动完成

时间:2013-06-05 06:49:26

标签: python ipython

(检查编辑以获得更好的解释)

(截图是pycharm中使用ipython的内置python控制台。如果我也单独使用ipython,也存在同样的问题。 enter image description here 在IPython控制台中,如果我键入from gi.repository import并按Tab键查看可用选项,我看不到任何这些模块(Glib,RB,Gtk,Gio等)。但是如果我执行from gi.repository import RBGtk等,它就可以了!即使它不应该根据我的自动完成列表。  然后,如果我键入from gi.repository import并按Tab键,我会看到之前导入的模块。与列表中的任何其他模块相同。 为什么会这样?它导致错误报告PyCharm中的错误(如屏幕截图所示)。

编辑:更好地说明问题:

明白我的意思?首先,它仅显示RBabsolute_import作为选择。我仍然可以导入Gtk。之后,它显示了几个选项。仍然不是完整的模块列表。

enter image description here

2 个答案:

答案 0 :(得分:0)

将该目录添加为“源”内容根目录。

http://www.jetbrains.com/pycharm/webhelp/configuring-content-roots.html

pycharm autosuggest将开始显示建议。

答案 1 :(得分:0)

重建可用模块列表:%rehashx cf %rehashx?,最后一段。

Update the alias table with all executable files in $PATH.

This version explicitly checks that every entry in $PATH is a file
with execute access (os.X_OK), so it is much slower than %rehash.

Under Windows, it checks executability as a match against a
'|'-separated string of extensions, stored in the IPython config
variable win_exec_ext.  This defaults to 'exe|com|bat'.

This function also resets the root module cache of module completer,
used on slow filesystems.