我在安装了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
等等。
答案 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工作。会看看它是否会重新开始。似乎要记住我之前遇到过类似的问题,但过了一段时间后它才能运转。