Как я могу получить завершение табуляции в интерактивном интерпретаторе Python?

14

Я часто использую интерактивный интерпретатор Python 3000, но у него отсутствует удобство завершения табуляции. Я использую его с ipython, который недоступен для Python 3.x.

Как включить завершение табуляции во всех из них, 2.6 и 3.x?

    
задан Stefano Palazzo 10.02.2011 в 10:36
источник

1 ответ

16

Сначала создайте новый файл с именем .pythonstartup.py в домашнем каталоге. Вставьте в него следующий скрипт:

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

Скобки вокруг строки гарантируют, что она работает как с Python 2, так и с Python 3.

Каждый раз, когда запускается интерактивный интерпретатор, он запускает скрипт, определенный в $PYTHONSTARTUP , если он есть. Чтобы установить его для выполнения вышеуказанного сценария, введите

export PYTHONSTARTUP=".pythonstartup.py"

Вы должны написать эту строку в свой файл .bashrc или .bash_profile , поэтому что он автоматически запускается при запуске новой оболочки.     

ответ дан Stefano Palazzo 10.02.2011 в 10:41
источник