不明确的选项卡完成在Windows上的iPython中不起作用

时间:2010-09-22 17:15:02

标签: python ipython tab-completion

我在安装了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>时,我希望每个标签按下value1value2varsvalue1value2等等。

2 个答案:

答案 0 :(得分:9)

您必须将pyreadline的配置文件复制到您的HOME文件夹(C:\ Users \&lt; username&gt;)。

打开命令行并执行:

copy "C:\Program Files (x86)\Python26\Lib\site-packages\pyreadline\configuration\pyreadlineconfig.ini" %HOMEPATH%

答案 1 :(得分:6)

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

编辑:发现你可以用CTRL-l获得它。在ipythonrc中查看,它应该像我习惯的那样工作但不是。 CTRL-l工作。会看看它是否会重新开始。似乎要记住我之前遇到过类似的问题,但过了一段时间后它才能运转。