話說上次給那台裝CentOS 5的免費VPS升級了Python,這次我們繼續來安裝IPython。
一.IPython是什麼
IPython是Python的交互式Shell,提供了代碼自動補完,自動縮進,高亮顯示,執行Shell命令等非常有用的特性。特別是它的代碼補完功能,例如:在輸入zlib.之後按下Tab鍵,IPython會列出zlib模塊下所有的屬性、方法和類,如圖一所示,絕對是居家旅行,殺人放火之必備神器啊。
圖一:IPython代碼自動補完
二.安裝IPython
IPython的安裝很簡單,按照《升級CentOS的Python》 http://www.linuxidc.com/Linux/2014-04/100039.htm 安裝好Python和setuptools之後,我們直接用setuptools提供的easy_install命令就能自動安裝好所需要的模塊。在遠程終端中執行下列命令:
easy_install install ipython
雖然現在IPython能用了,但由於缺少Python readline模塊,它的代碼自動補完,自動縮進,高亮顯示這三個最有用的特性都不可用,如圖二所示。
圖二:缺少readline支持的IPython
看到它最上面的提示了吧:
WARNING: IPython History requires SQLite, your history will not be saved
WARNING: Readline services not available or not loaded.WARNING: The auto-indent feature requires the readline
換句話說,IPython這丫的現在就等於是個廢物。好吧,我們來解決readline的問題。至於它提示缺少的SQLite模塊,本來是Python的內置模塊,但是由於我們當初編譯Python時沒有安裝sqlite-devel,所以Python現在不支持這個庫,不過這這幾乎不影響我們的使用。
三.安裝readline
先來安裝編譯Python readline所需要的readline-devel,執行:
yum install -y readline-devel
Tips:devel是Development的縮寫。readline-devel包,包含了readline模塊的申明和頭文件等,給使用了readline模塊的程序提供編譯支持。前面提到的sqlite-devel、zlib-devel等,功能於此類同。
接著用easy_install安裝Python的readline模塊,執行:
easy_install readline
結果報錯,如圖三所示。
圖三:安裝readline報錯
可以看到,最後三行提示:
gcc: readline/libreadline.a: No such file or directory
gcc: readline/libhistory.a: No such file or directory
error: Setup script exited with error: command 'gcc' failed with exit status 1