发生了什么事?我尝试了iPython和常规Python解释器,两者都显示^ [[A和^ [[B代表上下箭头而不是之前的命令。
平台: Ubuntu 12.04。
使用pythonbrew 安装Python: 2.7.3
终端: 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=
答案 0 :(得分:6)
由于您使用pythonbrew安装了Python,因此必须在包管理器中安装libreadline-dev
包,然后重新编译Python。
在大多数Linux发行版(Ubuntu,Debian,Fedora ......)中,该包被命名为libreadline-dev
或类似名称。 Gentoo或Arch系统不需要此步骤,它始终包含对库的开发支持。
从包管理器安装的Python也不需要此步骤。
脚注:区域设置无关紧要。终端仿真器无关紧要。 SSH是无关紧要的。我从未见过这些因素影响行编辑功能,尽管我认为任何事情都可能。
脚注2:我要向pythonbrew的文档提交一个补丁,这不是第一次有人抱怨readline缺失。 更新: Pull request 更新2:合并。