Linux升级Python到2.7.X

python2.7 是 python2.x 的最后一个大版本,修改了部分 bug 并对 3.x 做了一些兼容, Redhat6.5 自带的 python 版本是 2.6.6,因为开发需要,决定做一些升级。

1、查看现有版本

[root@localhost ~]# python2.6 -V  
Python 2.6.6

2、下载 2.7.8 版本的 python

[root@localhost ~]# wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz

3、开始安装

解压压缩包

[root@localhost ~]# tar -xzvf Python-2.7.8.tgz

进入解压后的文件夹

[root@localhost ~]# cd Python-2.7.8

安装前先在 /usr/local 建一个 python27 的文件夹 (作为 python 的安装路径,以免覆盖老的版本,老版本后面还有用)

[root@localhost Python-2.7.8]# mkdir /usr/local/python27

开始安装

[root@localhost Python-2.7.8]# ./configure --prefix=/usr/local/python27

在使用 ./configure 时有可能会报错 “configure: error: no acceptable C compiler found in $PATH”

说明少了 C 语言的编译器,需要安装 gcc 库,安装命令如下:

[root@localhost Python-2.7.8]# yum -y install gcc

再来执行 ./configure

[root@localhost Python-2.7.8]# ./configure --prefix=/usr/local/python27

然后

[root@localhost Python-2.7.8]# make

然后

[root@localhost Python-2.7.8]# make install

4、后续工作

这时已经安装完成,但是通过 “python -V” 查看版本还是 2.6.6 ,这是因为系统指向问题,但是现在系统 yum 是基于 python2.6.6 才能正常工作,所以决定把他重命名定向。

先把把原来系统指向的老版本重命名

[root@localhost Python-2.7.8]# mv /usr/bin/python /usr/bin/python_old

再建立新版本的链接指向

[root@localhost Python-2.7.8]# ln -s /usr/local/python27/bin/python /usr/bin/python

查看现在版本,已经完工

[root@localhost Python-2.7.8]# python -V
Python 2.7.8

但是 yum 这时已经提示不能使用

[root@localhost ~]# yum 
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
Python 2.7.8 (default, Dec  3 2014, 10:51:34) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-55)] on linux2
If you cannot solve this problem yourself, please go to 
the yum faq at:
http://wiki.linux.duke.edu/YumFaq

用 vim 修改之

[root@localhost ~]# vim /usr/bin/yum 
#!/usr/bin/python               #将头部此处的 python 修改为 python2.6
import sys
try:
    import yum
except ImportError:
    print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
......

再来查看 yum 已经好了!

原创文章,作者:tipak,如若转载,请注明出处:http://www.myqqu.com/backend/linux_upgrade_python_to_2_7_x.html