28

我正在使用 zsh、iTerm2 (3.0.9) 和 pyenv (1.0.2),pyenv 全局设置为 3.5.2。

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

^[[A

我已经尝试按照在 python shell 中按下箭头键时看到转义字符中的建议安装 readline,但这没有帮助。我没有 PYTHONSTARTUP 变量,但以前不习惯,并且不确定它如何与 pyenv 交互。

4

7 回答 7

12

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

完整的功劳:ipython 抱怨 readline

于 2016-10-06T21:44:27.690 回答
12

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

brew unlink python
brew install python
于 2016-12-30T13:31:30.927 回答
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

于 2017-01-03T20:47:23.060 回答
2

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

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

brew reinstall python

如果您需要 python 2,请记住 brew 现在默认为 python3,因此您需要:

brew reinstall python2
于 2019-07-01T17:01:26.880 回答
0

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

于 2019-03-06T19:03:14.790 回答
0

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

我正在继续查看是否有永久修复,因为没有它我几乎没有效率。

于 2016-10-03T14:53:49.977 回答
-1

需要配置python的快捷方式。

在 shell 中,运行idle3,然后更新关键的shortucts:

如何在 python 解释器 shell 中重复最后一个命令?

于 2019-01-24T19:55:15.177 回答