^ [[A和^ [[当我按箭头键时,[B]出现在python解释器中

nat*_*ill 5 python ipython

这是怎么回事?我尝试了iPython和常规Python解释器,都显示^ [[A和^ [[B代表上下箭头而不是之前的命令.

平台: Ubuntu 12.04.

Python: 2.7.3与pythonbrew一起安装

终端: Mac OSX 10.6上的iTerm 2,通过SSH连接.

从来没有通过SSH在Python shell中工作,但在本地工作.

运行区域设置输出:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

Die*_*Epp 6

由于您使用pythonbrew安装了Python,因此必须libreadline-dev在软件包管理器中安装软件包,然后重新编译Python.

libreadline-dev在大多数Linux发行版(Ubuntu,Debian,Fedora ......)中,该软件包都被命名或类似.Gentoo或Arch系统不需要此步骤,它始终包含对库的开发支持.

从包管理器安装的Python也不需要此步骤.

脚注:区域设置无关紧要.终端仿真器无关紧要.SSH是无关紧要的.我从未见过这些因素影响行编辑功能,尽管我认为任何事情都有可能.

脚注2:我将为pythonbrew的文档提交补丁,这不是第一次有人抱怨readline缺失. 更新: 拉取请求 更新2:合并.