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