今天在一个环境下面写了一个利用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了
到此整体版本升级完成
本文出自 “老鹰工作室” 博客,请务必保留此出处http://colinspace.blog.51cto.com/1043642/1364239