0%

CentOS6.8上Python2.6.6升级Python2.7.15

前言

Python 2.6 is no longer supported by the Python core team, please upgrade your Python.

虽然Python2.6已经不再维护,但是CentOS6.8系统里默认的Python版本依然是2.6.6。
这就很尴尬了,要么凑合用,但是没有pip命令,常规安装pip的方法还会失败。要么进行升级,但是整个过程很麻烦。
本文记录一下2.6.6凑合用的方法,以及升级2.7.15的方法。

凑合用

参考python2.6安装pip

1
2
curl https://bootstrap.pypa.io/2.6/get-pip.py -o get-pip.py
python get-pip.py

升级

参考centos6.5升级到python2.7

1、安装编译依赖

1
yum -y install gcc openssl-devel bzip2-devel

2、下载安装包并解压

1
2
3
cd /opt
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar xvzf Python-2.7.15.tgz

3、安装

1
2
3
cd Python-2.7.15
./configure --enable-optimizations
make && make altinstall

configure时加上enable-optimizations,启用PGO优化,让Python在运行时能变得更快。make 加altinstall参数,避免覆盖原来安装在/usr/bin/python 的版本。

4、检查安装
/usr/local/bin/python2.7 -V

5、修改系统默认python

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

6、解决yum不支持python2.7的问题
sed -i 's/python/python2.6.6/' /usr/bin/yum

7、安装pip

1
2
python -m ensurepip
pip -V

以上,升级完成。

报错解决

pip

pip -V 如果报错:
pkg_resources.DistributionNotFound: The ‘pip==7.1.0’ distribution was not found and is required by the application

那么根据 python -m ensurepip 输出的版本,修改 /usr/bin/pip 文件里pip的版本。
这里我的输出为 pip-9.0.3 ,那么修改结果如下:

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==7.1.0','console_scripts','pip'
__requires__ = 'pip==9.0.3'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
sys.exit(
load_entry_point('pip==9.0.3', 'console_scripts', 'pip')()
)

再次执行 pip -V ,即可看到升级后的pip版本。

easy_install

easy_install -h 如果报错:
pkg_resources.DistributionNotFound: The ‘distribute==0.6.10’ distribution was not found and is required by the application

那么安装distribute模块:

1
2
3
4
wget https://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz
tar -zxvf distribute-0.6.10.tar.gz
cd distribute-0.6.10
python setup.py install