Centos7 升级Python
Centos7 升级Python
CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。
查看当前版本
[root@node python-3.8.5]# python -V
Python 2.7.5
安装新版本
下载地址https://www.python.org/downloads/,选择自己要使用的版本,我这里使用3.8.5
#安装依赖 已安装的可以忽略
[root@node python-3.8.5]# yum install gcc gcc-c++ libffi-devel python-setuptools vim wget make sqlite-devel zlib* bzip2-devel openssl-devel ncurses-devel readline-devel tk-devel -y
#切换目录
[root@node python-3.8.5]# cd /opt
#下载
[root@node python-3.8.5]# wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
#解压
[root@node python-3.8.5]# tar -zxvf Python-3.8.5.tgz
#切换到解压目录
[root@node python-3.8.5]# cd /opt/Python-3.8.5
#配置
[root@node python-3.8.5]# ./configure --with-ssl
#编译
[root@node python-3.8.5]# make
#安装
[root@node python-3.8.5]# make install
设置默认版本
[root@node python-3.8.5]# python3 -V
Python 3.8.5
-
将原来 python 的软链接重命名:
[root@node python-3.8.5]# mv /usr/bin/python /usr/bin/python.bak
-
将 python 链接至 python3:
[root@node python-3.8.5]# ln -s /usr/local/bin/python3 /usr/bin/python
修复yum
升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,使用yum的时候会报以下错误
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
修改/usr/bin/yum
和/usr/libexec/urlgrabber-ext-down
,将 #!/usr/bin/python
改为 #!/usr/bin/python2.7
,保存退出即可。
升级pip
sudo pip3 install --upgrade pip