在使用CentOS6.6 X64系統時,由於系統自帶的python版本爲2.6.6,而2.x版本中當前普遍使用的爲2.7版本,所以我們要對系統的python版本做一個升級。ipython是一個增強版的shell,支持TAB補全,自動縮進等供能,比默認的python shell要好用很多。下面主要介紹如何升級python版本,安裝pip並使用pip install安裝ipython搭建一個簡易的 python環境。
1. 官網下載安裝包:
[root@localhost ~]# cd /usr/local/src [root@localhost src]# wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2. 解壓、編譯、安裝:
[root@localhost src]# tar zxf Python-2.7.10.tgz [root@localhost src]# cd Python-2.7.10
這裏需要注意,在編譯安裝之前,需要確保系統中已經安裝了openssl-devel,zlib-devel,readline-devel,sqlite-devel,原因會在文末闡述。
[root@localhost Python-2.7.10]# yum install -y openssl-devel zlib-devel readline-devel sqlite-devel [root@localhost Python-2.7.10]# ./configure --prefix=/usr/local/python2.7.10 [root@localhost Python-2.7.10]# make && make install
3. 修改當前python命令版本:
安裝完成後,查看python版本:
[root@localhost ~]# python -V Python 2.6.6
發現版本並沒有改變,需要手動建立軟鏈接:
[root@localhost ~]# rm -f /usr/bin/python
這裏不必擔心誤刪除,因爲在/usr/bin
目錄下還有一個python2.6
命令:
[root@localhost ~]# python2.6 -V Python 2.6.6
所以大膽rm -f
即可。建立軟鏈接:
[root@localhost ~]# ln -s /usr/local/python2.7.10/bin/python2.7 /usr/bin/python
現在再查看python
版本:
[root@localhost ~]# python -V Python 2.7.10
升級版本後,還剩餘一些掃尾工作。由於yum
命令只支持到使用python2.6
,爲了防止yum
命令失效,修改/usr/bin/yum
文件:
[root@localhost ~]# vim /usr/bin/yum
將第一行的
#!/usr/bin/python
修改爲
#!/usr/bin/python2.6
保存退出即可。
4. 安裝pip:
pip
爲python
的包管理工具,類似於CentOS
的yum
和Node.js
的npm
,相信接觸過python
的同學對pip
都很熟悉。由於準備使用pip
來安裝ipython
,當前前提是要將 pip
安裝上啦。安裝pip
需要首先安裝setuptools
(如下載鏈接失效,請點擊這裏自行下載):
[root@localhost src]# wget https://pypi.python.org/pypi?:action=show_md5&digest=f72e87f34fbf07f299f6cb46256a0b06 [root@localhost src]# tar zxf setuptools-18.1.tar.gz [root@localhost src]# cd setuptools-18.1 [root@localhost setuptools-18.1]# python setup.py install
安裝成功後如圖-1
所示。
圖-1 setuptools安裝成功
完成後,安裝pip
(如下載鏈接失效,請點擊這裏自行下載):
[root@localhost src]# wget https://pypi.python.org/packages/source/p/pip/pip-7.1.0.tar.gz#md5=d935ee9146074b1d3f26c5f0acfd120e [root@localhost src]# tar zxf pip-7.1.0.tar.gz [root@localhost src]# cd pip-7.1.0 [root@localhost pip-7.1.0]# python setup.py install
安裝成功後如圖-2
所示。
圖-2 pip安裝成功
安裝完成後的pip
文件位於/usr/local/python2.7.10/bin/
目錄下,爲了方便使用,爲pip
建立軟鏈接:
[root@localhost ~]# ln -s /usr/local/python2.7.10/bin/pip /usr/bin/pip
5. 安裝 ipython:
使用pip
命令安裝ipython
:
[root@localhost ~]# pip install ipython
安裝成功後如圖-3
所示。
圖-3 ipython安裝成功
安裝完成後的ipython
文件位於/usr/local/python2.7.10/bin/
目錄下,爲了方便使用,爲ipython
建立軟鏈接:
[root@localhost ~]# ln -s /usr/local/python2.7.10/bin/ipython /usr/bin/ipython [root@localhost ~]# ipython
進入如下交互頁面,如圖-4
所示,之後就可以使用ipython
的TAB
自動補全功能、自動縮進功能和類似sorted??
查看方法介紹的功能了。
圖-4 開始使用ipython
補充:
最後說一下,如果在make && make install
Python2.7.10
時系統中如果沒有安裝openssl-devel
,zlib-devel
,readline-devel
,sqlite-devel
四個包會分別出現什麼問題。 如果沒有安裝zlib-devel
,在安裝setuptools
時會報如圖-5
所示錯誤,即RuntimeError: Compression requires the (missing) zlib module
錯誤:
圖-5 缺少zlib-devel
如果沒有安裝openssl-devel
,在使用pip install ipython
命令安裝ipython
時會報如圖-6
所示錯誤,即ImportError: cannot import name HTTPSHandler 錯誤
:
圖-6 缺少openssl-devel
如果沒有安裝readline-devel
和sqlite-devel
,在使用ipython
時會發現進入時報三個 WARNING,具體影響是ipython
不能記錄歷史信息(當然這一點影響倒不大),同時ipython
並沒有顏色提示,TAB
補全和自動縮進功能也沒有,這樣的ipython
就顯得毫無意義了,如圖-7所示。
圖-7 缺少readline-devel和sqlite-devel
如果已經在缺少包的情況下make && make install
Python2.7.10
,出現錯誤時只需yum install
對應的包,之後再重新進入Python-2.7.10
目錄下make && make install
即可解決問題,當然make && make install
所需的時間還是比較長的,所以建議在make && make install
之前就確認這四個包的安裝情況,以便一次成功。