08月11, 2016

CentOS升级Python2.7

近来发现在CentOS6中使用Python2.6的时候出现错误,本文主要记录一下升级Python2.7的过程 ,使用Python2.6的时候错误如下:

File "/usr/lib/python2.6/site-packages/pip/_internal/index.py", line 526
    {str(c.version) for c in all_candidates},

1、下载

通过Python官网下载Python2.7源码:

cd ~ && wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar -zxvf Python-2.7.15.tgz
cd Python-2.7.15

2、修改对SSL的支持

修改文件Setup.dist,内容如下:

# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
       -L$(SSL)/lib -lssl -lcrypto
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

3、编译安装

./configure
make all && make install
make clean

旧版本目录:ll -tr /usr/bin/python*
新版本目录:ll -tr /usr/local/bin/python*

4、备份老版本,创建新版本软链

mv /usr/bin/python /usr/bin/python26
rm -f /usr/bin/python-config
ln -s /usr/local/bin/python /usr/bin/python
ln -s /usr/local/bin/python-config /usr/bin/python-config
ln -s /usr/local/include/python2.7/ /usr/include/python2.7

5、安装pip

cd ~ && wget https://bootstrap.pypa.io/get-pip.py -O - | python

安装完成后,查看当前Python版本:

python --version

显示结果如下:

Python 2.7.15

6、修改yum命令

修改文件/usr/bin/yum首行为如下内容:

#!/usr/bin/python26

PS.修改yum的内容是避免在使用yum命令时报错

至此,Python的升级工作已完成,有任何疑问可以在文章下面留言。

本文链接:https://www.shaobin.wang/post/28.html

Comments