从官网下载python 2.7的当前最新版本源码
tar zxvf Python-2.7.10.tgz
cd Python-2.7.10
./configure --prefix=/usr/local/python2710
make && make install
添加环境变量和设置别名
echo "export PATH=/usr/local/python2710/bin:$PATH" >> /etc/profile
更新配置文件
source /etc/profile
再次确认环境变量是否添加成功
echo $PATH
python -V
可以看到新版本python2.7.10已经生效了。同时yum也安装一切正常。
注意事项:
我安装python 2.7.10后没有出现下面的问题,如果大家遇到下面的问题,请参照执行。
正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.6.6版本,考虑到yum是基于python2.6.6才能正常工作,所以这里先备份老版本的/usr/bin/python文件为/usr/bin/python-old,然后再做个软连接到/usr/bin/就可以了。
mv /usr/bin/python /usr/bin/python-old
ln -s /usr/local/python2710/bin/python /usr/bin/
升级安装好以后你会发现yum无法使用了,因为yum使用的是2.6.6版本的python,所以要修改yum的配置文件以便能够识别2.6.6版本下的python
vi /usr/bin/yum
!/usr/bin/python --> #!/usr/bin/python-old #修改此处为2.6.6的位置,就可以继续使用yum了整个升级过程完成,可以使用Python2.7.10版本了。
#!/bin/bash
#description: 将CentOS 6.3 64bit上的python 2.6升级到2.7.10版本
#date: 2015-11-06
echo '=====prepare to upgrade Python version from 2.6.x to 2.7.10 on CentOS 6.3 64bit========='
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
tar zxvf Python-2.7.10.tgz
cd Python-2.7.10
./configure --prefix=/usr/local/python2710
make && make install
echo '=====prepare to modify env variables============'
echo "export PATH=/usr/local/python2710/bin:$PATH" >> /etc/profile
source /etc/profile
echo '==== PATH ===='
echo $PATH
echo '==== Python version ===='
python -V
echo '=======install setuptools ============'
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
python ez_setup.py
echo '=======install pip =========='
easy_install-2.7 pip
pip -V
echo '======upgrade complete!========'
升级脚本
为了使用方便,我写了一个bash脚本upgrade_python2.7.sh来自动实现python版本升级功能。经过测试,比较可靠和方便。注意在执行该脚本时,必须使用
source upgrade_python2.7.sh
不要使用
sh upgrade_python2.7.sh
因为脚本中涉及到修改环境变量的问题,具体原因参见另一篇博文
http://blog.youkuaiyun.com/tao_627/article/details/49702505
从截图可以看到,运行该脚本后,PATH环境变量得以从脚本中成功修改,以后安装第三方Python模块,尽可能地直接使用pip就可以了。
参考文献
[1].http://www.linuxde.net/2013/03/13012.html