(实用)CentOS 6.3更新内置Python2.6

  在安装Kilo版的OpenStack时,我们发现社区已经将Python升到2.7,而CentOS 6.3上仍然在使用2.6版的Python。本文记录将CentOS 6.3内置的Python2.6更新为Python2.7.9,完成后系统内两个版本的Python共存,可以通过不同的命令分别调用,效果如下:

# python -V

Python 2.7.9

# python2.6 -V

Python 2.6.6

1. 下载需要的Python源码包,
  可以到https://www.python.org/downloads/source/选择需要的源码包,这里以Python2.7.9的Gzip包为例:

# wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz

  下载完成后解压安装包:

tar -xzf Python-2.7.9.tgz

  进入解压得到的目录:

# cd Python-2.7.9


2. 编译源码并安装,

  编译前配置未来安装的目录、以及编译时需要的支持:

# ./configure --prefix=/usr/local/python2.7 --with-bz2
# make
# make install
# make clean

  说明:

  (1). 选项--prefix指定未来Python2.7.9安装的位置,这里是/usr/local/python2.7/;

  (2). --with-bz2为即将编译的Python添加bz2支持,在安装OpenStack时我们发现有些软件包使用了bzip2压缩,这就要为Python添加bz2支持,使用该选项的前提是CentOS上安装了bzip2以及bzip2-devel库:

# yum install -y bzip2 bzip2-devel

  如果不需要bzip2功能,则不用添加“--with-bz2”选项;

  如果之前编译Python时没有添加bzip2支持,安装CentOS的bzip2和bzip2-devel库并重新编译Python即可。

  

3. 将系统默认的python 命令指向新版的Python2.7.9:

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

  

4. 修改yum命令的配置

  由于yum命令依赖于CentOS原有的Python2.6,这里需要将其脚本解释器指向旧版Python:

vim /usr/bin/yum

将第一行 #!/usr/bin/python 改为 #!/usr/bin/python2.6 ,这也是为什么更新Python时没有卸载原有Python的原因。

 

你可能感兴趣的:(python)