IPython是Python的互動式Shell,提供了代碼自動補完,自動縮進,高亮顯示,執行Shell指令等非常有用的特性。
特别是代碼補全功能非常實用。
安裝ipython也非常簡單,一台linux伺服器上可以安裝多個Python版本,根據Python版本安裝對應的ipython;
例如:centos 6.3已經自帶Python 2.6.6,這個時候可以自己編譯安裝Python2.7或者更高版本,每次調用輸入絕對路徑即可。
安裝了Python2.7後,下載下傳ipython安裝包,目前最新的是ipython-3.0.0.tar.gz,解壓後進入目錄開始安裝:
/usr/local/python27/bin/python2.7 setup.py build
/usr/local/python27/bin/python2.7 setup.py install
ln -sv /usr/local/python27/bin/ipython /usr/bin/
安裝後軟連結到/usr/bin目錄下,友善使用,這樣安裝後會出現一個問題,如下:
進入後沒有高亮顯示,也沒有tab鍵補全功能,原因是因為上面的warning。
第一個可以忽略,不影響使用,解決方法:
yum install sqlite-devel -y
然後重新編譯Python後應該就可以解決。
主要的是第二個warning,提示沒有Readline無法加載進來,解決方法:
yum install readline-devel -y
然後再下載下傳setuptools-16.0.tar.gz這個工具,安裝到Python2.7目錄下,安裝方式與ipython安裝方式相同,安裝完成後就可以在Python目錄bin中發現easy_install這個工具,直接:
/usr/local/python27/bin/easy_install readline
發現報錯:
從字面意思了解是找不到這個檔案,網上查了下,說是readline-devel路徑不對造成的,要手動去安裝,首先檢視readline-devel安裝在哪裡:
網上是有libreadline.a、libhistory.a這2個檔案的,但是我的系統上面沒有顯示這2個檔案,于是直接find查找到這2個檔案:
[[email protected] bin]# find / -name libreadline.a
/usr/local/lib/libreadline.a
按照網上的方法,下載下傳readline-6.2.4.1.tar.gz,進入目錄修改setup.py這個檔案
将框框内的路徑修改為find出的路徑:/usr/local/lib/libreadline.a
然後安裝:
/usr/local/python27/bin/python setup.py install
結果是仍然報錯:
反複安裝了多次readline-devel,仍然報上面的錯誤,網上的結果是也報錯,但不是報這個錯:
他這邊這樣處理以後安裝成功了。
經過反複的研究,最終發現了根本不需要修改配置檔案,也不用去找檔案路徑,也不用自己去下載下傳readline-6.2.4.1.tar.gz手動去安裝。
在執行/usr/local/python27/bin/easy_install readline發現報錯後,直接安裝patch:
yum -y install patch
然後再:
安裝readline成功以後再進入ipython:
終于可以看到代碼自動補完,自動縮進,高亮顯示了。
總結下:
安裝ipython需要安裝的包:
yum -y install readline-devel sqlite-devel ncurses-devel patch
手動安裝setuptools後,直接使用easy_install安裝readline更友善快捷
/usr/local/python27/bin/easy_install readline
或者如下安裝也可:
yum -y install readline-devel patch
pip install ipython
版權屬于:
運維之道
轉載時必須以連結形式注明原始出處及本聲明。