搭建基於 Anaconda 管理的多用戶 JupyterHub 平台


搭建基於 Anaconda 管理的多用戶 JupyterHub 平台


情況:計算工作站放在實驗室,多個同學需要接入使用,且需要各自獨立的環境,並使用 Jupyter notebook 平台以方便協作。


步驟

1. 安裝 Anaconda

由於是多人環境,應調用 root 權限在安裝過程中指定安裝到 /opt/anaconda/ 路徑下,這樣所有用戶均可讀,但無法直接在 base 環境下安裝模塊。

為了讓每個用戶都能訪問到 conda,需要逐個在用戶的 .bashrc 文件中加入 export PATH='/opt/anaconda:$PATH'

2. 安裝 JupyterHub

JupyterHub 是 Jupyter notebook 的多用戶版本,每個用戶可以通過自己的系統用戶名和密碼登錄到個人獨立的 Jupyter notebook 中,這樣不同人的代碼和數據都保存於其自己的用戶目錄下,同時用戶的資源消耗和管理也更清晰簡單,非常適合單機多用戶的需求。

在 Anaconda 的 base 環境下安裝 JupyterHub,注意 base 環境只有 root 可寫。

(base)$ sudo conda install JupyterHub

在 base 環境下啟用 JupyterHub 時亦需要通過 root,否則將會啟用單用戶模式,導致其他用戶無法登陸。

(base)$ sudo jupyterhub

3. 安裝 JupyterHub 調用 Anaconda 環境依賴

通過 conda create 創建的環境並不會默認顯示在 JupyterHub 的 kernel 選項中,需要安裝依賴。

(base)$ sudo conda install nb_conda_kernels

4. 用戶使用

  1. 每個用戶開始使用時,需要先建立自己的個人環境,注意由於是建立個人環境,因此該環境會寫入 ~/.conda下,故不再需要 root 權限,且每個用戶都可以隨意安裝需要的 python 模塊
$ conda create --name crew

2. 建立好后,進入個人環境並安裝 JupyterHub kernel

(base)$ source activate crew # 激活個人環境,注意下一行環境標識符發生變化
(crew)$ conda install ipykernel

3. 安裝所需的模塊,這樣模塊會被安裝到用戶的個人環境下,不會對 base 環境或其他用戶的環境造成影響,且一個用戶可以創建多個相互獨立的環境

(crew)$ pip install numpy # or use conda install numpy

4. 訪問 JupyterHub,此時可以在頁面中選擇所創建的個人環境的 kernel


實際嘗試

  • 由於可能每個同學都需要使用 tensorflow 或 keras 等深度學習模塊,因此我在 base 環境中預先安裝好了這些模塊,這樣在進行深度學習時不需要費勁地重新安裝模塊。
  • 如果同學需要安裝自己的模塊,則可以直接從 base 環境新建一個個人環境,個人環境會繼承 base 環境已有的模塊
$ conda create -n crew
  • 如果同學不需要繼承 base 環境,而是想新建一個空白的新環境,也可以用 conda 做到
$ conda create -n crew python=3.6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM