CentOS 中默认安装了 2.7的Python,为了使用新版 python,可以对旧版本进行升级。但是由于很多基本的命令、软件包都依赖旧版本,比如:yum等。所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。

1. 先去官网下载对应版本的python

这里用3.6做演示

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

2. 下载过后可以直接解压然后./configure,一系列编译

但是大家也应该可以才想到中间会有各种由于环境的报错,就不做赘述纠结了,小编在这里整理了下需要处理的依赖模块,没有的话就选择性安装吧,不知道的话直接按顺序执行也没有关系

#1. gcc相关组件

yum install make gcc gcc-c++

#2. zlib的解压缩类库

yum -y install zlib*

#支持python退格的组件

yum install readline-devel

3. 编译安装

tar zxvf Python-3.6.3.tgz
cd Python-3.6.3
./configure
make
make insatll

更改软连接指向

此时已经可以用python - v或者python3 -v查看相应版本了,之后我们前往/usr/bin更改软连接即可

建议不要删除原来的版本,因为有很多组件依旧依赖原先的版本

备份

mv /usr/bin/python /usr/bin/python2.7.bak

修改软连接

ln -s /usr/local/bin/python3.6 /usr/bin/python

之后再查看版本就已经是刚刚安装的python3了

配置yum

升级Python之后,由于将默认的python指向了python3,yum不能正常使用,需要编辑 yum的配置文件,改为使用python2.7:

[root@centos7 bin]# vim /usr/bin/yum
#!/usr/bin/python2.7
import sys
try:
import yum
同时修改/usr/libexec/urlgrabber-ext-down中的配置。
[root@centos7 bin]# vim /usr/libexec/urlgrabber-ext-down
#! /usr/bin/python2.7
# A very simple external downloader
# Copyright 2011-2012 Zdenek Pavlas