在研究或教學的程式開程的過程中,常常需要使用不同版本的程式庫,為了避免不同程式庫之間的衝突,減少開發者之間的溝通困擾,以及加速系統建置或除錯的流程;在業界系統開發上,都會先建立好開發者專屬的虛擬環境。
Python/CUDA 在開發過程中,提供了很好的虛擬環境工具「venv」;首先我們先安裝這個工具。
sudo apt install python3-venv
接下來,在工作目錄下使用下面的指令建立新的目錄,例如叫作「Vocus-env」,同時也是之後工作時所使用的虛擬目錄。
python3 -m venv Vocus-env
這時候會有一個新的目錄「Vocus-env」產生;我們再進入這個目錄,啟動虛擬環境。
cd Vocus-env
source bin/activate
可以檢查一下,目前是否有安裝那些 python library。
pip list
接下來,可以先安裝一下常用的 library
pip install numpy
pip install pandas
pip install matplotlib
然後,為了不重複安裝 PyTorch library,我們可以編輯「pyvenv.cfg」這個檔案
vi pyvenv.cfg
把參數「include-system-site-packages」的數值改掉。
include-system-site-packages=true
這時候再看一次 library list,就可以看到 PyTorch library 「torch」已經被包含進來了。
pip list
一旦虛擬環境建立起來,接下來我們要安裝 Jupyter kernel 方便我們遠端透過 Jupyter Notebook 來切換不同的虛擬環境。首先,在虛擬環境執行的狀態下,先安裝 Jupyter kernel。
pip3 install ipykernel
然後,把虛擬環境加入;例如,命名現在的環境為「Vocus-env」核心。
ipython kernel install —-user —-name=“Vocus-env”
然後檢查一下目前的 kernel 是否有加入。
jupyter kernelspec list
如果有錯想要移除,可以用以下指令
jupyter kernelspec remove <kernel-name>
最後,再離開剛剛建立的虛擬環境。
deactivate
這時候,我們再達端連上 Jupyter Notebook,就可以看到多了一個「Vocus-env」kernel 可以選擇。