mwo*_*e02 6 python tab-completion ipython
我在安装了pyreadline的Windows 7 x64上运行IPython.如果我开始一个新会话并键入:
import numpy
nu<TAB>
Run Code Online (Sandbox Code Playgroud)
然后nu自动完成numpy.但是,如果我开始一个新的会话并试试这个:
import numpy
n<TAB>
Run Code Online (Sandbox Code Playgroud)
然后什么都没发生 我希望它可以循环完成所有可能的完成.我目前正在使用现成的配置,我是否需要更改设置以启用不明确的选项卡完成,或者我只是运气不好?
编辑:为了解决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
Run Code Online (Sandbox Code Playgroud)
当我输入va<TAB>上述我期望每个标签按循环通过value1,value2,vars,value1,value2,等.
小智 9
您必须将pyreadline的配置文件复制到HOME文件夹(C:\ Users\<用户名>).
打开命令行并执行:
copy "C:\Program Files (x86)\Python26\Lib\site-packages\pyreadline\configuration\pyreadlineconfig.ini" %HOMEPATH%
Run Code Online (Sandbox Code Playgroud)
刚刚安装了python 2.6和numpy,ipython等等.我也很生气.在其他安装较旧的计算机上,它可以工作.我非常使用完成列表来查看可用的命令,所以当它不起作用时我会感到沮丧.
编辑:发现你可以用CTRL-l获得它.在ipythonrc中查看,它应该像我习惯的那样工作但不是.CTRL-l工作.会看看它是否会重新开始.似乎要记住我以前遇到过类似的麻烦,但过了一段时间后它才有效.