python2.7.jpg
python2.7.jpg

前言

现在很多软件安装都需要Python2.7支持了,不想折腾的可以直接用Centos 7.x,自带Python2.7,很多人还在用Centos 6.x,自带Python2.6,版本太低,而又不想换系统,所以只能手动升级了,升级方法与之前写的《CentOS系统下更新Python3.6详细步骤》一文差异不大,主要为了方便之后站内文章间的引用。

安装/升级

1、检查当前Python版本

python -V

检查之后,我们可以看到是Python 2.6.6版本

2、升级系统和安装开发工具包

yum -y update
yum groupinstall "Development tools" -y

3、补充安装需要的组件支持

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel -y

4、安装Python2.7.6

cd /opt
wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure --prefix=/usr/local
sudo make && sudo make altinstall

注意了,这里是用的altinstall

5、检查是否安装

/usr/local/bin/python2.7 --version

目前,我们只能通过这个命令检查,看到Python 2.7.6版本。

6、创建软链接

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

移除原来的老版本,然后创建2.7的软链接。这样我们直接用Python -V可以看到已经是Python 2.7.6

修复问题

yum问题

由于yum的依赖是python2.6,需要修改yum文件

vi /usr/bin/yum

编辑文件,在顶部修改成

#!/usr/bin/python2.6.6

输入:wq保存并退出!

pip问题

报错信息如下:

Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

解决方案:

1、安装setuptools

cd /tmp && wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python setup.py build
python setup.py install
# 注意:我这里的Python版本已经更新为2.7.6了

2、升级pip版本

cd /tmp && wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python setup.py build
python setup.py install
# 注意:我这里的Python版本已经更新为2.7.6了

3、建立软链接

mv /usr/local/bin/pip /usr/local/bin/pip_old
ln -s /usr/local/bin/pip2 /usr/local/bin/pip

修复完成。