在像交互式python shell这样的shell中,你通常可以使用箭头键在当前行中移动,或者获得之前的命令(向上箭头)等。
但当我ssh到另一台机器并在那里启动python后,我得到了如下会话:
>>> import os
>>> ^[[A
最后一个字符来自箭头向上。或者,使用箭头向左:
>>> impor^[[D
我该如何解决这个问题?
在常规bash中,方向键工作正常。奇怪的行为只是在交互的python(或perl等)shell中。
在像交互式python shell这样的shell中,你通常可以使用箭头键在当前行中移动,或者获得之前的命令(向上箭头)等。
但当我ssh到另一台机器并在那里启动python后,我得到了如下会话:
>>> import os
>>> ^[[A
最后一个字符来自箭头向上。或者,使用箭头向左:
>>> impor^[[D
我该如何解决这个问题?
在常规bash中,方向键工作正常。奇怪的行为只是在交互的python(或perl等)shell中。
当前回答
在CentOS上,我通过
Yum安装readline-devel
然后重新编译python 3.4。
在OpenSUSE上,我通过
pip3 install readline
下面是瓦莱里奥·克里尼的回答。
也许“pip3 install readline”是一个通用的解决方案。还没试过我的CentOS。
其他回答
在Mac升级到High Sierra后受到影响,这成功地解决了我的问题:
brew unlink python
xcode-select --install
brew install python
在两个不同版本的Ubuntu上,这些答案都不适合我。对我有用的,但不是真正的修复,是将我的python代码包装在rlwrap调用中(在ubuntu存储库中可用):
Rlwrap python mycode.py
我已经通过安装readline包解决了这个问题:
pip install readline
安装readline-devel包。 使用readline模块重新编译python 宾果!
在MacOsx上,我通过重新安装readline来解决这个问题
brew reinstall readline