1. 程式人生 > >Centos6.8 python2.6升級至2.7,並安裝setuptools和pip

Centos6.8 python2.6升級至2.7,並安裝setuptools和pip

題記:申請了一個測試伺服器,自帶python版本為2.6,但是至少pyhton2.7才能滿足我的需要,花了兩個晚上終於搞定,因此將遇到的問題整理一下。

一、python2.6升級至Python2.7

1.檢視當前python版本

$ python -V
$ python 2.6.6

2.下載Python-2.7.12

$ wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz

3.解壓縮並更改工作目錄

$  tar zxvf Python-2.7.12.tgz 

$ cd Python-2.7
.12

4.安裝

$ ./configure
$ sudo make all
$ sudo make install
$ sudo make clean
$ sudo make disclean

5.檢視版本資訊

$ /usr/local/bin/python2.7 -V

6.簡歷軟連線,使系統預設的python指向python2.7

$ sudo mv /usr/bin/python /usr/bin/python2.6.6   #備份
$ sudo ln -s /usr/local/bin/python2.7 /usr/bin/python  # 建立軟連線

7.重新檢驗Python版本

$ 
python -V $ sudo python -V

需要注意的是,可能會出現普通使用者的python和sudo的python版本不同的情況,此時要檢查一下軟連線的建立是否正確,不然,在接下來使用sudo python setup.py install 安裝package的時候會安裝到Python2.6裡。

我就是遇到了這個問題,網上建議的解決方法是使用sudo -i python setup.py install使其定址到python2.7,或者直接指定python2.7的位置。在我嘗試了sudo -i python -V這個命令,發現結果依然是python 2.6.6之後,便放棄了sudo -i的方法,然後重新做了一次軟連線,雖然好像我兩次做的完全一樣,但不知道為什麼,成功使得sudo python -V的結果也是python 2.7.12了。

8.指定yum的Python版本
由於系統python軟連線指向python2.7之後,yum將無法正常工作,出現“No module named yum”的報錯。
解決方式如下:

$ sudo vim /usr/bin/yum

將檔案頭部的

#!/usr/bin/python

改為

#!/usr/bin/python2.6.6

二、安裝setuptools和pip

在完成Python的升級之後,接下來就是安裝python的各種package了。但是有一很大的麻煩:如果使用 sudo yum install python-pip命令安裝pip的話,將會直接安裝到python2.6中。我還遇到了一個問題就是下載pip的壓縮檔案,使用sudo python setup.py install命令,又會報錯說沒有setuptools模組;下了setuptools的壓縮檔案,網上說使用ez_setup.py安裝,但壓縮包裡只有easy_install.py和setup.py兩個安裝檔案,安裝起來也是各種報錯。簡直讓人絕望,還好最後找到了一個ez_setup.py的下載連結(https://bootstrap.pypa.io/ez_setup.py),這才拯救了我。

1.下載安裝ez.setup.py

$ wget https://bootstrap.pypa.io/ez_setup.py
$ sudo python ez_setup.py install

2.下載安裝pip

$ tar -zxvf pip-9.0.1.tar.gz
$ cd pip-9.0.1
$ sudo python setup.py install