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