1. 程式人生 > >解決 Python shell 中 Delete/Backspace 鍵亂碼問題

解決 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。