Отладчик Python (pdb) перестал обрабатывать стрелки вверх / вниз, показывает ^ [[A вместо

Я использую Python 2.6 в virtualenv на машине с Ubuntu Linux 11.04 (natty). У меня есть этот код в моем (django) коде Python:

<code>import pdb ; pdb.set_trace()
</code>

чтобы запустить отладчик python (pdb).

До сегодняшнего дня это работало нормально. Но теперь, когда запускается pdb, он работает для отладки, запуска, точек останова и т. Д., Но когда я нажимаюup arrow чтобы показать предыдущую команду, которую она печатает^[[A вместо этого он не поднимается. Когда я что-то набираю и нажимаюHomeпечатает^[OH вместо перемещения курсора.

Я могу использовать до / дома / и т. Д. нормально в терминале bash, который запускает мои юнит-тесты на python django (у которых есть вызов pdb).

Что происходит? Как мне исправить мой pdb? Что не так с моей строкой чтения?

 Rory13 апр. 2012 г., 13:49
@reos Да, это была опечатка. исправлено сейчас. это было…set_trace() в моем коде
 Niels Bom17 апр. 2012 г., 15:55
Работает ли стрелка вверх в интерактивной оболочке Python?
 dm0351413 апр. 2012 г., 15:09
ты пытался сбросить свою оболочку?reset
 FatalError13 апр. 2012 г., 16:16
Что делать, если вы & quot; импортируете readline & quot; первый? Я не уверен, действительно ли это необходимо, но мне не помешает попробовать.
 Radu Gheorghiu13 апр. 2012 г., 13:48
Разве это не pdb.set_trace ()?

Ответы на вопрос(3)

вашего сервера pdb клавиши Control, Command, Option (или аналогичные)?

Похоже, по какой-то причине вам не хватает пакета readline. Просто установите его, набравpip install readline и он должен вести себя как ожидалось. Не забудьте ввести его как суперпользователя, если вы не в venv.

 02 февр. 2018 г., 12:49
Кажется, чтоreadline пакет устарел. Он был переименован вgnureadline разрешить конфликт имен с помощью стандартного библиотечного модуля.

УвидетьИстория интерактивного режима Python и клавиши со стрелками, В моем случае ответ Амадана сработал; У меня уже был модуль readline.

Ваш ответ на вопрос