1. 程式人生 > >Linux 升級 Python 至 3.x

Linux 升級 Python 至 3.x

頁面 accep tps 修改 img spa ont oca Language

簡述

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,保存退出即可。

Linux 升級 Python 至 3.x