简述

进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符。命令输入错误后只能从头开始,无法删除,让人很头疼。为了便于后期使用,分享一个一劳永逸的方式。

基本现象

进入 Python shell,按下 Delete/Backspace 键:

1 Python 3.5.2 (default, Mar 29 2017, 11:05:07) 
2 [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
3 Type "help", "copyright", "credits" or "license" for more information.
4 >>> 
5 >>> import ^H^H^H^H^H^H

会出现 ^H 字符,无法正常删除,用起来很不方便。

解决方式

方式一:安装 readline 相关模块

查阅文档,发现是因为 readline 相关模块没有安装的原因。readline 是 bash shell 用的库,包含许多使用功能,例如:命令行自动补全。

1 # yum install readline readline-devel

 

安装完成后,需要再重新编译安装 Python:

1 # make
2 # make install

 

大功告成,这样以后用起来就方便多了。

方式二:使用 Python 自带的 readline 模块

如果还是不行,可以尝试使用 Python 自带的 readline 模块。切换至 Modules 目录,修改 Setup 文件:

# cd Modules/
# vi Setup

 

取消文件中 readline 部分对应的注释符:

#readline readline.c -lreadline -ltermcap

然后,再重新编译安装 Python。

 

转载自:http://blog.csdn.net/liang19890820