我使用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的交互方式。
我有完全相同的问题,这个命令对我有用easy_install -a readline
。
我通过从自制软件安装python来解决它:
brew unlink python
brew install python
这对我有用:
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
我看到了同样的事情,我能想到的唯一“修复”就是不在我的.zshrc文件中运行pyenv init -
命令。然而,这将阻止虚拟环境的运行..所以它不是一个修复,而是一个解决方法,让python shell历史再次工作。
我继续看,看看是否有一个永久性的解决方案,因为没有它我就没有那么高效。
为我解决的是运行jsphpl(unlink和install)提到的步骤,然后另外使用brew再次链接python并允许覆盖冲突的文件。
使用brew安装的python时,升级XCode或XCode工具(通常在操作系统升级时会出现)会发生这种情况。
在这种情况下,您只需要重新安装:
brew reinstall python
如果你需要python 2,请记住brew默认为python3,所以你需要:
brew reinstall python2
需要配置python的快捷方式。
在shell中,运行qazxsw poi,然后更新密钥快捷方式:
idle3