CentOS 中默认安装了 2.7的Python,为了使用新版 python,可以对旧版本进行升级。但是由于很多基本的命令、软件包都依赖旧版本,比如:yum等。所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。
1. 先去官网下载对应版本的python
输入命令 我在自定义文件下地址为 /home/python
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
(我的阿里云一核2g,1m带宽,下载有点慢,可以本地网络下载上传)
2.因为是新机器组件没有先安装组件,另外安装ssl这条很重要,需要安装下,不然python安装后运行代码会出问题,发请求会出现error,就是由于ssl和python安装没配套
#1. gcc相关组件
yum install make gcc gcc-c++
#2. zlib的解压缩类库
yum -y install zlib*
#支持python退格的组件
yum install readline-devel
# 安装ssl 非常重要啊
yum install -y openssl openssl-devel
3. 编译安装。下载到了/home/python这个文件下。
tar zxvf Python-3.6.3.tgz
cd Python-3.6.3
./configure --with-ssl
make
make install
4.安装完后,输入python -v 还是2.7的版本,python3 -v可以显示是3.6.3版本
之后我们前往/usr/bin更改软连接即可
建议不要删除原来的版本,因为有很多组件依旧依赖原先的版本
1.备份
mv /usr/bin/python /usr/bin/python2.7.bak
2.修改软连接
ln -s /home/python/Python-3.6.3/python /usr/bin/python
这里是网上抄的 本人试了几次都是错的
注意看/home目录下面有没有对应的文件 没有的话就找一下 whereis python3 看在哪个目录 然后软连接就写哪个目录
懒得写步骤 上图 你懂的
这两个地方我跟着其他博客写的有问题,需要自己改下,看看/usr/bin/python,有没有这个文件,是不是python2。修改成功使用python -v命令显示的是python3.6.3的版本,修改失败显示没python的命令,我改了下上述的命令才成功。问题点在/usr/bin下的python文件的命名。
配置yum
升级Python之后,由于将默认的python指向了python3,yum不能正常使用,需要编辑 yum的配置文件,改为使用python2.7:
[root@centos7 bin]# vim /usr/bin/yum
#!/usr/bin/python2.7
import sys
try:
import yum
这个是网上版本,。我的centos7.4系统显示的改成2.7
#! /usr/bin/python
同时修改/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
看你自己系统显示的是什么,,改下即可