6

我在安装了 pyreadline 的 Windows 7 x64 上运行 IPython。如果我开始一个新会话并输入:

import numpy
nu<TAB>

然后nu自动完成到numpy. 但是,如果我开始一个新会话并尝试以下操作:

import numpy
n<TAB>

然后什么也没有发生。我希望它循环遍历所有可能的完成。我目前正在使用开箱即用的配置,是否需要更改设置以启用模棱两可的选项卡完成,或者我只是不走运?

编辑:为了解决来自 ma3204 的评论,这是另一个示例(从新的 ipython 会话开始):

[In 1]: value1 = 5

[In 2]: value2 = 6

[In 3]: va<TAB>       ... nothing happens
[In 3]: va<Ctrl + l>
vars   value2 value1

[In 3]: val<TAB>      ... completes to 'value'
[In 3]: value
[In 3]: value<Ctrl + l>
value2 value1

[In 3]: value

当我va<TAB>在上面输入时,我希望每个选项卡按下都会循环显示value1, value2, vars, value1,value2等。

4

2 回答 2

9

您必须将 pyreadline 的配置文件复制到您的 HOME 文件夹(C:\Users\<用户名>)。

打开命令行并执行:

copy "C:\Program Files (x86)\Python26\Lib\site-packages\pyreadline\configuration\pyreadlineconfig.ini" %HOMEPATH%
于 2010-11-08T18:36:44.933 回答
6

刚刚安装了python 2.6和numpy、ipython等。我也对此感到恼火。在我的其他安装较旧的计算机上,它可以工作。我经常使用完成列表来查看可用的命令,所以当它不起作用时我会感到沮丧。

编辑:发现你可以用 CTRL-l 得到它。在 ipythonrc 中查看,它应该像我习惯的那样工作,但不是。CTRL-l 可以工作。看看会不会反弹。似乎记得我以前遇到过类似的麻烦,但一段时间后它就起作用了。

于 2010-09-30T13:54:28.783 回答