今天在一個環境下面寫了一個利用python發送系統監控結果郵件的腳本,結果copy到別的環境下面去不能使用,通過對比發現兩個環境的版本不一致,第二個環境的版本過低,所以考慮python版本升級
[root@ENV2 ~]# python -V
Python 2.6.6
[root@ENV1 ~]# python -V
Python 2.4.3
1 , download 高版本的源碼文件到server
wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tar.bz2
2 , 解壓並且安裝,安裝在一個新的目錄,避免覆蓋舊的版本,因爲yum是基於python2.4的
tar -jxvf Python2.6.7.tar.bz2
cd Python2.6.7.tar.bz2
./configure --prefix=/usr/loca/python2.6.7
make && make install
這裏我們的安裝目錄在/usr/local/python2.6.7下面
[root@TKE/DEVEL_NEW ~]# ls -lart /usr/local/python2.6.7/bin/
total 11268
-rwxr-xr-x 1 root root 18933 Feb 27 09:33 smtpd.py
-rwxr-xr-x 2 root root 5733130 Feb 27 09:33 python2.6
-rwxr-xr-x 2 root root 5733130 Feb 27 09:33 python
-rwxr-xr-x 1 root root 96 Feb 27 09:33 pydoc
-rwxr-xr-x 1 root root 111 Feb 27 09:33 idle
-rwxr-xr-x 1 root root 123 Feb 27 09:33 2to3
lrwxrwxrwx 1 root root 16 Feb 27 09:34 python-config -> python2.6-config
-rwxr-xr-x 1 root root 1436 Feb 27 09:34 python2.6-config
drwxr-xr-x 6 root root 4096 Feb 27 09:34 ..
drwxr-xr-x 2 root root 4096 Feb 27 09:34 .
[root@TKE/DEVEL_NEW ~]#
3 , 建立軟連接,使系統默認的python指向python2.6
正常情況下即使python2.6.7安裝成功後,系統默認指向的python仍然是2.4.3版本,
mv /usr/bin/python /usr/bin/python.20140227.james
ln -s /usr/local/python2.6.7/bin/python2.6 /usr/bin/python
[root@TKE/ENV1 ~]# python -V
Python 2.6.7
4 , yum 依賴處理
此時如果調用yum 安裝別的會報錯,因爲yum是基於python2.4.3才能正常工作,所以此時修改/usr/bin/yum 的第一行顯示
將 #/usr/bin/python 修改爲 #/usr/bin/python2.4,保存後在調用yum 就ok了
到此整體版本升級完成