В Windows IPython является самой простой в использовании средой командной строки, которую я имею в наличии. В моей действительно старой среде IPython (Python 2.7.5, IPython 0.13.2 и pyreadline 2.0) я имел обыкновение набирать частичный путь к файлу в командной строке, нажимать tab и получать что-то вроде этого:
In [1]: cd /Users/Jez/D
/Users/Jez/Desktop/ /Users/Jez/Downloads/ /Users/Jez/dots2-default-accel=6da3a.pdf
/Users/Jez/Documents/ /Users/Jez/Dropbox/
Все опции, которые он предоставляет, являются добросовестными файлами и каталогами. Это хорошо.
При более новой установке (Python 3.6.4, IPython 6.1.0, (py) readline ???) происходит следующее:
In [1]: cd /Users/Jez/D
delattr() dir() /Users/Jez/Desktop/ /Users/Jez/Dropbox/
DeprecationWarning display() /Users/Jez/Documents/
dict divmod() /Users/Jez/Downloads/
Несмотря на то, что до сих пор набирается только , значимо интерпретируемый как путь файловой системы, параметры завершения включают в себя множество вещей, которые не являются файлами или каталогами (как если бы я мог захотеть) разделить несуществующий объект с именем /Users/Jez
на что-либо). Это менее умно. Я нахожу, что это довольно часто нарушает мой ход мыслей (в этом примере есть только 6 ложных срабатываний, но иногда их так много, что истинные варианты полностью скрыты).
Есть ли где-нибудь опция конфигурации, которая может позволить мне перехватить специфику старого поведения? Мой search-foo до сих пор меня не подводил - я нашел несколько ссылок на readline и .inputrc
, но я подозреваю, что это не имеет отношения к Windows.