在 Jupyter 使用虛擬 Python 環境

因為交作業要有特定套件,但調參數還是用 Jupyter 方便,所以就研究了下怎麼用特定的 Python 來執行 Jupyter Notebook 或是 JupyterLab。方法有兩種,首先我們先從創建虛擬環境講起:

準備

創建虛擬環境

這邊以 conda 為例:

conda create --name new_env python=3.6

輸入 y(或是直接 enter)就完成這步了,可以看一下視窗內部的訊息來確認。或是列出現有的環境:

conda env list

啟動虛擬環境

確認你的 .bashrc(或是 macOS 上:.bash_profile)有包含你的虛擬環境的路徑:(以我的 miniconda 為例)

# .bash_profile
export PATH="/usr/local/miniconda3/bin:$PATH"

接著用這行指令就可以直接啟動了:

conda activate new_env

這時候命令列的前方會多出一個 (new_env),就代表我們已經進入這個虛擬環境了,但這時候我們的 Python 還是系統預定的版本,記得也為他安裝一個 Python:

conda install python=你要安裝的版本

第一招:在原本的 Jupyter 中加入新的 Kernel

首先照著上面做的進入虛擬環境,然後安裝 ipykernel:

conda install ipykernel

沒意外的話會有一大堆相依套件被安裝,按 y 繼續就好。
接下來確認一下你的 Python 是正確的 Python:

> which python
/usr/local/miniconda3/envs/new_env/bin/python

正確的話就可以直接幫 Jupyter 增加新的 kernel:

python -m ipykernel install --name another_name

接著列出可以使用的 kernel,檢查是否成功:

jupyter kernelspec list

就會看到剛剛加入的 kernel

jupyter kernel list

切換 kernel

可以直接在新增的時候選擇 kernel,或是進入 notebook 之後再修改 kernel。

Jupyter lab 選擇頁面:
Jupyter lab 選擇頁面

notebook 切換 kernel:
notebook 切換 kernel

第二招:為虛擬環境安裝獨立的 Jupyter

一樣先進入虛擬環境,然後直接在裡面安裝 Jupyter:

conda install jupyter

沒啥特別好說的,你開心也可以用 pip。然後去泡杯茶等它安裝好就行了。

這時候你的 Jupyter 應該就會被置換成虛擬環境的版本,可以用 which 確認一下:

> which jupyter
/usr/local/miniconda3/envs/new_env/bin/jupyter

接下來就跟平常一樣,走進你喜歡的根目錄之後開啟 Jupyter,就大功告成了