将Mac OS升级到Sierra后,箭头键不再适用于Python shell

dan*_*nib 23 python macos zsh iterm2 pyenv

我使用zsh,iTerm2(3.0.9)和pyenv(1.0.2),pyenv global设置为3.5.2.

在Python shell中,上下箭头键用于工作,以访问历史记录中的先前命令.但现在升级到OSX 10.12之后,它显示了控制字符.例如,向上箭头显示:

^[[A
Run Code Online (Sandbox Code Playgroud)

我按照在python shell中按箭头键时看到转义字符的建议尝试安装readline,但这没有帮助.我没有PYTHONSTARTUP变量,但之前没有使用过,也不确定它与pyenv的交互方式.

小智 11

我有完全相同的问题,这个命令对我有用easy_install -a readline.

完全归功于:ipython抱怨readline

  • 这修复了它为Python 3.5.2,但使用pyenv切换到Python 2.7.12,箭头键仍然无法在该shell中运行. (2认同)

jsp*_*hpl 11

我通过从自制软件安装python解决了这个问题:

brew unlink python
brew install python
Run Code Online (Sandbox Code Playgroud)


小智 0

我看到了同样的事情,我能想到的唯一“修复”是不运行pyenv init -我的 .zshrc 文件中运行命令。然而,这会抑制虚拟环境的功能......所以这不是一个修复,而是一个让 python shell 历史记录再次工作的解决方法。

我正在继续寻找是否有永久的解决方案,因为如果没有它,我的工作效率就不会那么高。