CentOS7下升级Python版本

yum 使用的就是 python2 开发,python不同版本本身也是可以共存的,所以在这里不考虑替旧版而是直接安装python3.x

1. 安装前查看python版本
python -V
2. 登陆后默认root管理员目录下,切换到根目录,新建usr/local/python3目录,以备后面我们将python安装在此目录
cd /
mkdir -p usr/local/python3
3 .查看根目录下的文件列表
ls
4. 在tmp目录下新建目录用于存放python的源码
mkdir -p tmp/python3
3. 切换到python3目录下载python源码https://www.python.org/downloads/source/
cd tmp/python3
wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz
5. 解压源码
tar zxvf Python-3.6.10.tgz
参数解释:

z :表示 tar 包是被 gzip 压缩过的 (后缀是.tgz),所以解压时需要用 gunzip 解压 (.tar不需要)

x :表示 从 tar 包中把文件提取出来

v :表示 显示打包过程详细信息

f  :指定被处理的文件是什么

6. 进入解压后源码存放的目录并进行配置指定安装目录(第二步创建的目录usr/local/python3)
cd Python-3.6.10
./configure –prefix=/usr/local/python3 –enable-optimizations
解释:
源码安装一般包括几个步骤:配置(configure),编译(make),安装(make install)
./configure –prefix=后面是安装目录
–enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化
7. 编译及安装

make && make install
8‌. 备份原系统旧版本python

mv /usr/bin/python /usr/bin/python.bak
mkdir /usr/bin/pip
mv /usr/bin/pip /usr/bin/pip.bak
9. 配置环境变量:创建新版本Python和pip的软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
10. 再次查看python版本(正常会显示新安装的版本)

python -V
11. 修改yum功能,因为yum的功能依赖Pyhon2,现在更改默认Python版本后会导致yum无法正常工作,所以进行以下3处修复
第一处:
vi /usr/bin/yum

把最顶部的
改成:#! /usr/bin/python2.7
第2处:
vi /usr/libexec/urlgrabber-ext-down
把最顶部的
改成:#! /usr/bin/python2.7
qihong lu