CentOS 6.X系统默认安装的Python都是2.6版本的。但是平时使用以及很多的库都是要求用到2.7版本或以上,所以Centos6要做的第一件事必不可少就是升级Python啦!在这里做个简单的升级操作记录 。正如这俩天给我的VPS安装ServerStatus服务时候,发现Centos6.X中的Python2.6并不支持这项服务,必须更换系统或者升级Python2.7,无奈,谁叫我那么喜欢Centos6呢,就留了这个教程备用。

以下所有步骤需在root用户下完成!

1. 依赖安装

yum -y update
yum install epel-release
yum install sqlite-devel
yum install -y zlib-devel.x86_64
yum install -y openssl-devel.x86_64
yum -y install xz xz-devel
yum -y install wget

2. 升级Python

系统默认安装的Python是2.6.6的,我们需要升级到Python2.7,用wget命令从官方下载源文件,然后解压进行编译

wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
unxz Python-2.7.10.tar.xz
tar -vxf Python-2.7.10.tar

执行完以上命令会解压得到Python-2.7.10这个文件夹,进入该目录cd Python-2.7.10并执行以下命令进行配置

./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib

其中--enable-loadable-sqlite-extensions是sqlite的扩展,如果需要使用的话则带上这个选项。
之后执行

vi ./Modules/Setup

找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz删除句中(prefix)(exec_prefix))并保存,
然后进行编译和安装

make && make install

安装好Python2.7之后我们需要先把Python2.6备份起来,然后再对yum的配置进行修改,如果不进行这一步操作的话,执行yum命令将会提示你Python的版本不对。

执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接

mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

然后编辑/usr/bin/yum,将第一行的#!/usr/bin/python修改成#!/usr/bin/python2.6.6
现在执行yum命令已经不会出现之前的错误信息了。

接着执行python -V查看版本信息,如果出现错误

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

编辑配置文件

vi /etc/ld.so.conf

添加新的一行内容/usr/local/lib,保存退出,然后

/sbin/ldconfig
/sbin/ldconfig -v

3. 安装pip

下载最新版的pip,然后安装

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

查找pip的位置

whereis pip

找到pip2.7的路径,为其创建软链作为系统默认的启动版本

ln -s /usr/local/bin/pip2.7 /usr/bin/pip

pip安装完毕,现在可以用它下载安装各种包了 🙂

声明:本文经本人实测后发布。原文出处“CentOS升级Python2.6到Python2.7并安装pip,有删改!”