跳到主要內容區塊

ntuccepaper2019

技術論壇

在Linux系統輕鬆建立Python工作環境
  • 卷期:v0056
  • 出版日期:2021-03-20

作者:高鈺盛 / 臺灣大學計算機及資訊網路中心作業管理組 / 幹事


 

近期人工智慧議題持續火熱,各個研究領域也持續探索結合人工智慧技術的可行性,緊接而來的問題就是如何建置計算平台,以安裝使用常見的Tensorflow、Keras等程式工具。計資中心高效能運算服務,近期也常遇到類似的需求,其中第一關就是Linux作業系統環境的Python環境安裝。本文會就常用的Anaconda3及pyenv簡單說明及比較。

 

一、建立Python環境的問題情境

一般若是使用自己的個人電腦,直接使用Linux系統版本的Python進行pip安裝套件使用上問題不大,但是若是遇到需要較新、特定版本時,編譯安裝Python有一些難度,版本太多時,切換使用也是困擾。
另一個狀況是與其他使用者,共用工作站或叢集電腦環境時,不具管理者權限,無法直接安裝需要的套件,即使管理者願意幫忙安裝套件,卻仍要顧及其他使用者,不能輕易變更系統環境。
目前常見的解決方式,是使用虛擬環境管理工具(如:Anaconda),或Python版本管理工具(如:pyenv),在一般使用者家目錄建立一個到多個Python版本環境(如:並存2.7、3.6、3.7等版本),如此可以輕鬆切換所需要的Python版本,安裝對應的套件,也不會因此影響其他的使用者。本文會簡易說明兩種工具安裝使用的方式,並依據使用情境,略述解決方式及優缺點。

 

二、Anaconda3安裝與Python環境建立

一、下載安裝程式:
至官方下載網頁:https://www.anaconda.com/products/individual 找到適合作業系統的版本(建議選擇 Python3 ),複製下載連結,
在Linux文字作業環境執行

下載安裝檔案。

二、安裝Anaconda3:
執行

接著就是一直回答 yes ,就可以安裝完成。
重新登入帳號後,就會載入conda的基本環境(base)。

三、建立Python環境:
執行

上述指令意指,建立Python版本為3.6.8,名稱為python368的作業環境, 
其中
create 是建立環境的指令
-n 或 --name 設定環境的名稱
等執行完就建立成功了。
執行

就可以叫用環境
進入環境後,就可以開始隨意安裝 python 套件(如:)
執行

即可離開環境。
以後不再使用,可以執行

移除環境。
需要了解其他功能,可以執行 或 等來獲得說明。

四、其他使用方式:

1. 安裝 R 程式環境的方式,與上述類似,執行

即可。

2. Windows環境安裝,圖形介面安裝比較直覺,可以參考官方文件進行操作。

3. 使用計中VDI服務,選擇 Windos 10 GPU,可以登入桌面,逕行安裝Anaconda3。

4. 也可以評估使用輕量化的Miniconda ,安裝使用與Anaconda類似。

5. 若要使用工作腳本方式更加便利的執行計算,需使用 source activate,腳本內容:

#!/bin/bash
source activate python368
python mycode.py
source deactivate

 

三、pyenv安裝與Python環境建立

一、安裝pyenv:
執行

#若出現git指令找不到,需先使用root身分(或請管理者),安裝git。
等執行完,接著需要編輯環境設定檔案(執行 )加入以下三行敘述
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$( pyenv init - )"

重新登入帳號後,執行確認安裝是否完成。

二、建立Python環境:
執行

來安裝Python版本3.6.8的作業環境,
可以執行來查閱可安裝的清單。
執行完成後,需執行來更新選單。
執行來確認安裝版本是否生效。
其中
* 表示目前使用的環境
system為系統預設環境
3.6.8 為剛剛安裝的Python版本
執行

切換整個帳號Python版本到3.6.8,重新登入就會直接進入這個環境。需要不同環境,可以重複上述步驟安裝、切換。
也可以建立多個資料夾,進入資料夾後,執行

來讓每個資料夾有不同的版本。執行

清除此設定。
設定切換Python環境後,就一樣開始隨意安裝 Python 套件。
(如:)

需要了解其他功能,可以執行或 等來獲得說明。

 

四、總結

若是要在一般使用者帳號,建置各種Python版本環境,兩個方式都是可以達成,而在前面的內容,應該可以感受到,使用Anaconda的方式較直覺、操作簡易,但是安裝上較占空間,會預設安裝一些套件,另外後續使用Python時,都要記得先activate環境;pyenv建置上,步驟較多,不熟Linux可能會遇到一些困難,但是好處是,完成建置後,使用上就如同系統內建指令一樣,比較容易執行互動環境或建置執行腳本。至於到底用哪個方式好,就看個人需求與習慣了。

 

參考來源

1 Anaconda安裝文件:https://docs.anaconda.com/anaconda/install/
2. Pyenv安裝文件:https://github.com/pyenv/pyenv
3. Miniconda:https://docs.conda.io/en/latest/miniconda.html
4. 計資中心VDI服務:https://vdi.ntu.edu.tw/
5. 計資中心高效能運算服務:http://grid.ntu.edu.tw/