解决 Python shell 中 Delete/Backspace 键乱码问题

时间:2023-03-09 02:32:11
解决 Python shell 中 Delete/Backspace 键乱码问题

简述

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

基本现象

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

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

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

解决方式

方式一:安装 readline 相关模块

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

 # yum install readline readline-devel

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

 # make
# make install

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

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

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

# cd Modules/
# vi Setup

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

#readline readline.c -lreadline -ltermcap

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

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