не могу редактировать строку в командной строке Python в Linux - PullRequest
3 голосов
/ 07 августа 2009

Я использую Python CLI под Linux:

bla:visualization> python
Python 2.1.1 (#18, Nov  1 2001, 11:15:13) 
[GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
Type "copyright", "credits" or "license" for more information.
>>> 

По какой-то причине клавиши со стрелками и клавиша удаления не работают:

удалить

>>> x^H^H^H

стрелка вверх:

>>> x^[[A^[[A

и т.д ...

Как я могу заставить их работать?

Ответы [ 4 ]

6 голосов
/ 07 августа 2009

Основная проблема в том, что ваша установка Python, вероятно, не была скомпилирована с библиотекой readline. Вы можете подтвердить это, попытавшись импортировать модуль readline:

import readline

Вы должны получить сообщение об ошибке при импорте, если readline отсутствует.

Если это так, вы не можете ничего сделать, кроме как перекомпилировать Python с библиотекой readline, если можете.

3 голосов
/ 07 августа 2009

Попробуйте установить свой терминал из оболочки, набрав stty. Обратите особое внимание на специальные символы erase и kill. Вашей установке на Python 8 лет, рассмотрите возможность обновления до более новой версии.

3 голосов
/ 07 августа 2009

Установить iPython (http://ipython.scipy.org/, но можно установить с помощью easy_install или pip), это намного лучше, чем CLI по умолчанию.

0 голосов
/ 08 марта 2013

Мне пришлось установить readline-devel, чтобы заставить это работать:

yum install readline-devel

Теперь моя клавиша редактирования командной строки python работает правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...