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

问题描述 投票:21回答:6

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

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

^[[A

我已经尝试按照Seeing escape characters when pressing the arrow keys in python shell的建议安装readline,但这没有帮助。我没有PYTHONSTARTUP变量,但之前没有使用过,也不确定它与pyenv的交互方式。

python macos zsh iterm2 pyenv
6个回答
11
投票

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

完全归功于:ipython complaining about readline


10
投票

我通过从自制软件安装python来解决它:

brew unlink python
brew install python

3
投票

这对我有用:

CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
pyenv install -v 2.7.11

资料来源:https://medium.com/@pimterry/setting-up-pyenv-on-os-x-with-homebrew-56c7541fd331#.urbdkrc9l


0
投票

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

我继续看,看看是否有一个永久性的解决方案,因为没有它我就没有那么高效。


0
投票

为我解决的是运行jsphpl(unlink和install)提到的步骤,然后另外使用brew再次链接python并允许覆盖冲突的文件。


0
投票

使用brew安装的python时,升级XCode或XCode工具(通常在操作系统升级时会出现)会发生这种情况。

在这种情况下,您只需要重新安装:

brew reinstall python

如果你需要python 2,请记住brew默认为python3,所以你需要:

brew reinstall python2

-1
投票

需要配置python的快捷方式。

在shell中,运行qazxsw poi,然后更新密钥快捷方式:

idle3

© www.soinside.com 2019 - 2024. All rights reserved.