1. 程式人生 > >CentOS 升級Python2.6 到 2.7

CentOS 升級Python2.6 到 2.7

因為CentOS系統中舊版本的Python已被深度依賴,所以不能解除安裝原有的Python,只能全新安裝。

1.下載Pyhon,選擇下載Gzipped source tar ball (2.7.11) (sig)

網址https://www.python.org/download/releases/2.7.11

2.解壓安裝,命令如下

tar -xvf Python-2.7.11.tgz

cd Python-2.7.11

 ./configure --prefix=/usr/local/python2.7 --enable-shared

make

sudo make install

這裡加了configure的時候加了--enable-shared引數,主要是為了讓其他軟體共享python的動態連結庫,後續安裝mod_wsgi模組的時候用的上,--with-ssl用於編譯_ssl模組

。安裝完後執行python會提示:

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

解決方法如下: (1).編輯      vi /etc/ld.so.conf  如果是非root許可權帳號登入,使用 sudo vi /etc/ld.so.conf  新增上python2.7的lib庫地址,如我的/usr/local/python2.7/lib,儲存檔案 (2).執行 /sbin/ldconfig -v命令,如果是非root許可權帳號登入,使用 sudo  /sbin/ldconfig -v。這樣 ldd 才能找到這個庫,執行python2.7就不會報錯了
(/etc/ld.so.conf:
這個檔案記錄了編譯時使用的動態連結庫的路徑。
預設情況下,編譯器只會使用/lib和/usr/lib這兩個目錄下的庫檔案
如果你安裝了某些庫,沒有指定 --prefix=/usr 這樣lib
庫就裝到了/usr/local下,而又沒有在/etc/ld.so.conf中新增/usr/local/lib,就會報錯了)

3.建立連結來使系統預設python變為python2.7

ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

4.修改yum配置(否則yum無法正常執行)

vi /usr/bin/yum

將第一行的#!/usr/bin/python修改為系統原有的python版本地址#!/usr/bin/python2.6

5,解決ssl模組無法編譯的問題(web服務需要)

安裝openssl-devel

yum install openssl-devel

安裝結果檢視:rpm -aq|grep openssl

openssl-devel-1.0.1e-48.tl1.5.x86_64
openssl098e-0.9.8e-18.tl1.2.i686
openssl098e-0.9.8e-18.tl1.2.x86_64
openssl-1.0.1e-48.tl1.5.x86_64
openssl-1.0.1e-48.tl1.5.i686

6,安裝pip

先安裝setuptools-21.0.0.zip(sudo)然後安裝 pip-9.0.1.tar.gz(sudo)