介紹如何使用 nb_conda_kernels
管理多個 Conda 環境下的 Jupyter 核心,整合多 Conda 環境下的 Python 或 R 等語言。
nb_conda_kernels 是一個 Jupyter 的擴充功能(extension),可以管理多個 Conda 環境下的 Jupyter 核心(kernels),整合多 Conda 環境中各種不同版本的 Python 或 R 等語言。
nb_conda_kernels
nb_conda_kernels
必須安裝在 Jupyter(Jupyter Notebook 或 JupyterLab)所在的 Conda 環境中,可以直接放在 base
環境中,或是另外建立獨立的 Conda 環境亦可。
這裡我們建立一個新的 Conda 環境,專門用於放置 JupyterLab:
# 建立 Conda 環境,並安裝 JupyterLab conda create --name jupyter_env python=3.7 jupyterlab
在此 Conda 環境加裝 nb_conda_kernels
擴充功能套件:
# 安裝 nb_conda_kernels 擴充功能套件 conda install --name jupyter_env nb_conda_kernels
所有需要在 Jupyter 中透過 nb_conda_kernels
來使用 Conda 環境,都需要安裝對應語言的 Jupyter 核心(kernels)。
建立一個 Python 3.8 的 Conda 環境:
# 建立 Python 3.8 的 Conda 環境 conda create --name py38_env python=3.8 # 安裝 Python 的 Jupyter 核心 conda install --name py38_env ipykernel
建立一個 R 3.5 的 Conda 環境:
# 建立 R 3.5 的 Conda 環境 conda create --name r35_env --channel r r-essentials=3.5 r-base=3.5 # 安裝 R 的 Jupyter 核心 conda install --name r35_env --channel r r-irkernel
QIIME2 的 Conda 環境也可以透過 nb_conda_kernels
來使用,不過 QIIME2 的 Jupyter 伺服器擴充功能(互動圖形)在這裡會無法使用:
# 下載套件定義檔 wget https://data.qiime2.org/distro/core/qiime2-2019.10-py36-linux-conda.yml # 建立 QIIME2 的 Conda 環境 conda env create -n qiime2-2019.10 --file qiime2-2019.10-py36-linux-conda.yml
安裝好所有的 Conda 環境以及對應的 Jupyter 核心之後,就可以依照一般的方式啟動 JupyterLab:
# 載入 Jupyter 的 Conda 環境 conda activate jupyter_env # 啟動 JupyterLab jupyter lab
在 JupyterLab 中就會出現各種 Conda 環境以及不同語言核心的 Jupyter Notebook:
這樣就可以在單一個 JupyterLab 界面中同時使用不同 Conda 環境下的各種語言與版本了。
參考資料:nb_conda、IPython、Parametric Thoughts、Jupyter、Stack Overflow