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