最近折腾爬虫的一堆东西,发现python版本至少得要2.7,而cent OS默认python版本是2.6,所以再次作一波死升级py版本。

安装步骤

编译 Python 只要有 gcc 编译器就足够了,但一些扩展模块需要额外的库,否则一些 Python 模块将不可用(比如 Python 的 zlib 模块需要 zlib-devel,ssl 模块需要 openssl-devel)。用户可以根据需要,选择性的安装这些扩展模块。这里我们安装 zlib、ssl 和 sqlite3 的库文件。

    yum install zlib-devel openssl-devel sqlite-devel

下载py2.7源码包。

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

解压

    tar zxvf Python-2.7.8.tgz

编译安装

    cd Python-2.7.8 
    ./configure --prefix=/usr/local/python
    make
    make install

替换与修正

安装后,Python 2.7.8 的可执行文件位于 / usr/local/python/bin。先将系统自带的 Python 重命名为 python2.6,再创建新的 Python 到 / usr/bin 目录下的符号链接。

    mv /usr/bin/python /usr/bin/python2.6 
    ln -sf /usr/local/python/bin/python2.7 /usr/bin/python

完成以上步骤后,会发现yum报错,接下来需要修正yum.

只需将 / usr/bin/yum 文件开头的第一行代码:#!/usr/bin/python修改为:#!/usr/bin/python2.6就可以了。

安装pip

获取easy-install脚本并且安装pip。

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

因为之前更改了 Python 的安装目录,Python 扩展模块的可执行文件会被安装到 / usr/local/python/bin目录下。为了能够直接运行这些文件,我们要么创建到 / usr/bin 目录下的符号链接,要么将 / usr/local/python/bin目录添加到 PATH 环境变量中。为了避免不必要的冲突,这里采用创建符号链接的方式。

    ln -sf /usr/local/python/bin/pip /usr/bin/pip
    ln -sf /usr/local/python/bin/easy_install /usr/bin/easy_install