Linux 升級 Python 至 3.x


簡述

CentOS 7 中默認安裝了 Python,版本比較低(2.7.5),為了使用新版 3.x,需要對舊版本進行升級。

由於很多基本的命令、軟件包都依賴舊版本,比如:yum。所以,在更新 Python 時,建議不要刪除舊版本(新舊版本可以共存)。

版權聲明:一去、二三里,未經博主允許不得轉載。

查看 Python 版本號

當 Linux 上安裝 Python 后(默認安裝),只需要輸入簡單的命令,就可以查看 Python 的版本號:

# python -V Python 2.7.5
  • 1
  • 2

或者是:

# python --version Python 2.7.5
  • 1
  • 2

可以看出,系統自帶的 Python 版本是 2.7.5。

下載新版本

進入 Python下載頁面,選擇需要的版本。

這里,我選擇的版本是 3.5.2 。

# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
  • 1

這里寫圖片描述

解壓縮

下載完成之后,進行解壓縮:

# tar -zxvf Python-3.5.2.tgz
  • 1

安裝配置

進入解壓縮后的目錄,安裝配置:

# cd Python-3.5.2/ # ./configure 
  • 1
  • 2

執行 ./configure 時,如果報錯:

configure: error: no acceptable C compiler found in $PATH

說明沒有安裝合適的編譯器。這時,需要安裝/升級 gcc 及其它依賴包。

# yum install make gcc gcc-c++ 
  • 1

完成之后,重新執行:

# ./configure 
  • 1

這里寫圖片描述

編譯 & 安裝

配置完成之后,就可以編譯了:

# make 
  • 1

漫長的等待……完成后,安裝:

# make install 
  • 1

驗證

安裝成功以后,就可以查看 Python 的版本了:

# python -V Python 2.7.5 # python3 -V Python 3.5.2
  • 1
  • 2
  • 3
  • 4

一個是舊版本 2.x,另外一個是新版本 3.x。

注意:在 /usr/local/bin/ 下有一個 python3 的鏈接,指向 bin 目錄下的 python 3.5。

設置 3.x 為默認版本

查看 Python 的路徑,在 /usr/bin 下面。可以看到 python 鏈接的是 python 2.7,所以,執行 python 就相當於執行 python 2.7。

# ls -al /usr/bin | grep python -rwxr-xr-x. 1 root root 11216 12月 1 2015 abrt-action-analyze-python lrwxrwxrwx. 1 root root 7 8月 30 12:11 python -> python2 lrwxrwxrwx. 1 root root 9 8月 30 12:11 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 11月 20 2015 python2.7
  • 1
  • 2
  • 3
  • 4
  • 5

將原來 python 的軟鏈接重命名:

# mv /usr/bin/python /usr/bin/python.bak
  • 1

將 python 鏈接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python
  • 1

這時,再查看 Python 的版本:

# python -V Python 3.5.2
  • 1
  • 2

輸出的是 3.x,說明已經使用的是 python3了。

配置 yum

升級 Python 之后,由於將默認的 python 指向了 python3,yum 不能正常使用,需要編輯 yum 的配置文件:

# vi /usr/bin/yum
  • 1

同時修改:

# vi /usr/libexec/urlgrabber-ext-down
  • 1

將 #!/usr/bin/python 改為 #!/usr/bin/python2.7,保存退出即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM