【Python】將 Linux 上的 Python2.7 升級成 Python3.6

  • 10898
  • 0
  • 2018-12-26

最近為了測試一些功能,所以裝了台 Linux 虛擬機,主要是想寫些 python 程式。
但是裝完虛擬機器後,發現事情沒這麼簡單。

內建 python 的 版本都是 2.7.5 ,最新版已經到 3.6 了。

看來是自己手動升級會比較快一些,以下提供兩種方法:
一種是輸入指令直接升級,另外一種是透過 Anaconda 的協助完成升級。

因為夏恩非常懶惰,所以喜歡第二種。

版本概要:
作業系統:CentOS_7_x64
安裝類型:最小化安裝

備註:# 表示使用天神權限;
           $ 表示使用一般權限。

方法1:輸入指令直接升級

1. 安裝常用套件
先把系統更新一下還有安裝些小工具。
怎麼說也是用最小型安裝,裡面乾淨地什麼都沒有。

# yum -y update
# yum -y install vim wget

這時候啟動python可以看到是2.7.5版,畫面如下:

2. 安裝 python 輔助工具 — easy_install
# yum -y install python-setuptools

3. 安裝 python 輔助工具 — pip
# easy_install pip

4. 更新編譯器,若沒有更新可能會造成 python 內的 make 無法編譯。
# yum -y install make gcc gcc-c++

5. 安裝 zlib-devel,若沒有安裝會再 make install 過程中出現錯誤。
# yum -y install zlib-devel

6. 安裝讀取工具,若無安裝,則在 python command mode 下無法使用方向鍵。
# yum -y install readline*

7. 安裝 openssl-devel,若沒有安裝,則安裝 numpy、scipy 等套件時會出現錯誤。
# yum -y install openssl-devel

8.安裝 tk-devel,若沒有安裝,則顯示圖形介面會有問題。
# yum -y install tk-devel

9.安裝 sqlite,若沒有安裝,會影響SQL相關的功能。
# yum -y install sqlite-devel

9. 回到家目錄,使用一般權限,下載並安裝 Python3.6.3
$ wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
$ tar -zxvf Python-3.6.3.tgz
$ cd Python-3.6.3
$ ./configure --enable-loadable-sqlite-extensions

配置完成後開始編譯,爾後若有缺什麼套件時,將該套件安裝好之後,
再回到這個資料夾重新將python編譯即可。

$ make
$ sudo make install

//
tips:要使用sudo指令的方法如下:
    # visudo
    找到文件中 "root    ALL=(ALL)    ALL" 這句話,在下面照樣造句:"username    ALL=(ALL)    ALL"。
    請注意輸入時,username為使用者名字,另外 " 在輸入時不用寫。
//

10. 將原本 python 重命名,用 python3.6 取代 python2.7
# mv /usr/bin/python /usr/bin/python.bak
# ln -s /usr/local/bin/python3 /usr/bin/python

這時候啟動python,就可以看到版本已經更新了!

11. 下一步是更改配置,否則原本 yum 與防火牆的功能會無法使用
# vim /usr/bin/yum
# vim /usr/libexec/urlgrabber-ext-down
# vim /usr/bin/firewall-cmd
# vim /usr/sbin/firewalld

註:被​將每個文件的第一句話 #!/usr/bin/python 改為 #!/usr/bin/python2.7,保存退出即可,如圖。

順便查看一下防火牆的狀態:
# service firewalld restart
# service firewalld status

OK!看起來一切正常!

12. 最後安裝常用套件,挑自己需要的裝。
# pip install [packages]
   ex: numpy、scipy、matplotlib、scikit-learn...

方法2:使用 Anaconda

如果覺得以上的流程太麻煩,也有另外一個方法。
就是直接使用 Anaconda,來協助我們操作Python。

方法如下:

1.下載 Anaconda 並安裝

先去官網選一個您喜歡的版本。
其中可以選擇要安裝哪個版本的Python,下載後安裝就好了。

$ wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
$ sh Anaconda3-5.0.1-Linux-x86_64.sh

沒有騙人,這樣就好了。
之後要安裝什麼套件,請直接使用:

$ conda install packages

或是要從Anaconda的雲端下載,就使用:

$ conda install -c 網址 packages

用 conda 的好處就是,不用擔心相關套件的問題。
例如今天想要安裝A套件,可是A套件需要先安裝B、C、D...等,這時候conda就會先把其他的套件裝好之後,再安裝A套件。

假設想要安裝opencv,可以下指令:

$ conda install -c conda-forge opencv

總之,Anaconda是個好用的東西,唯一的缺點是大概就是占空間吧~