Клавиши со стрелками больше не работают в оболочке Python после обновления Mac OS до Sierra

Я использую zsh, iTerm2 (3.0.9) и pyenv (1.0.2) с pyenv global, установленным в 3.5.2.

В оболочке Python используются клавиши со стрелками вверх и вниз для доступа к предыдущим командам в истории. Но теперь, после перехода на OSX 10.12, вместо него отображаются управляющие символы. Например, стрелка вверх показывает:

^[[A

Я попытался установить readline, как было предложено в Видя escape-символы при нажатии клавиш со стрелками в оболочке python, но это не помогло. У меня нет переменной PYTHONSTARTUP, но раньше она не использовалась, и не знаю, как это взаимодействует с pyenv.

Ответ 1

У меня была такая же проблема, и эта команда работала для меня easy_install -a readline.

Полный кредит здесь: ipython жалуется на readline

Ответ 2

Я решил это, установив python из homebrew:

brew unlink python
brew install python

Ответ 4

Я вижу одно и то же, и единственное "исправление", которое я смог придумать, состояло в том, чтобы не запускать команду pyenv init - в моем файле .zshrc. Это, однако, будет препятствовать функционированию виртуальных сред.. и поэтому это не исправление, а обходной путь, чтобы восстановить историю оболочки python.

Я продолжаю смотреть и видеть, есть ли постоянное исправление, поскольку я не так продуктивен без него.

Ответ 5

Для меня это решило выполнить шаги, упомянутые jsphpl (unlink и install), а затем дополнительно использовать brew, чтобы снова связать python и разрешить перезапись конфликтующих файлов.

Ответ 6

Это может произойти при обновлении инструментов XCode или XCode (что часто происходит при обновлении ОС) при использовании установленного brew python.

В этом случае вам просто нужно переустановить:

brew reinstall python

Если вам нужен Python 2, помните, что по умолчанию brew установлен на python3, поэтому вам нужно:

brew reinstall python2