Неоднозначное завершение табуляции не работает в iPython на Windows - PullRequest
6 голосов
/ 22 сентября 2010

Я использую IPython на Windows 7 x64 с установленной pyreadline. Если я начну новый сеанс и наберу:

import numpy
nu<TAB>

Затем nu автоматически завершается до numpy. Однако, если я начну новый сеанс и попробую это:

import numpy
n<TAB>

Тогда ничего не происходит. Я ожидаю, что он будет проходить через все возможные завершения. В настоящее время я использую конфигурацию из коробки, мне нужно изменить настройку, чтобы включить неоднозначное завершение табуляции, или мне просто не повезло?

EDIT : Чтобы обратиться к комментарию от 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 и т. Д.

Ответы [ 2 ]

9 голосов
/ 08 ноября 2010

Вам необходимо скопировать файл конфигурации для pyreadline в папку HOME (C: \ Users \ ).

Открыть командную строку и выполнить ее:

copy "C:\Program Files (x86)\Python26\Lib\site-packages\pyreadline\configuration\pyreadlineconfig.ini" %HOMEPATH%
6 голосов
/ 30 сентября 2010

Только что установили python 2.6 и numpy, ipython и так далее.Я также раздражен этим.На других моих компьютерах со старыми установками это работает.Я очень часто использую список завершений, чтобы посмотреть, какие команды доступны, поэтому я расстроен, когда он не работает.

РЕДАКТИРОВАТЬ: Обнаружено, что вы можете получить его с помощью CTRL-l.Посмотрел в ipythonrc и он должен работать как я привык но нет.CTRL-I работает, хотя.Посмотрим, будет ли это снова.Кажется, я помню, что раньше у меня были похожие проблемы, но через некоторое время это сработало.

...