<div style="text-align: right; background-color: #f5f5f5; padding: 4px 12px; border-radius: 5px; display: inline-block; float: right; font-size: 1.4rem;">
Last Updated:2025/07/01
</div>
# Application – Jupyter Lab
[TOC]
<br>
<div style="border: 1px solid #B7B7B7; padding: 0.8rem 1rem; border-radius: 5px; color: #333; background: #F8F8F8">
<strong><h2> 前情說明</h2></strong>
<p></p>
在 Open OnDemand(OOD)環境中使用 Jupyter Notebook 或 Jupyter Lab 時,需注意以下限制與操作建議:
- **OOD 執行於計算節點,無法連接外部網路進行 Python 套件的即時安裝。**
- 若您需要在 Jupyter 中使用額外的 Python 套件,**建議於登入節點(Login Node)先安裝 Miniconda 並建立自定義虛擬環境**,再將該環境註冊為 Jupyter Kernel,以供選擇使用。
- 若不需安裝額外套件,可略過虛擬環境設定步驟,直接跳到 [登入 Open OnDemand](https://man.twcc.ai/@f1-manual/App_Jupyter_Lab#%E7%99%BB%E5%85%A5-Open-OnDemand)。
<p></p>
<font color="red">➤ 由於 OOD 的使用限制,每位使用者**同一時間僅能啟動一個 Interactive Session**,若需啟動新的資源,請先手動刪除既有的 Session,以釋出資源。</font>
</div>
<br>
## 建立自訂 Miniconda Environment <br> 並整合至 Jupyter Notebook / Jupyter Lab
**1. 登入 Login Node**
請使用 SSH 工具登入 F1 的登入節點 `f1-ilgn01.nchc.org.tw` 或 `f1-ilgn02.nchc.org.tw`。
<div style="border: 1.5px solid #B7B7B7; padding: 1rem 1rem; border-radius: 5px; color: #333;">
🔗 <strong>詳細教學請參閱</strong>
<a href="https://man.twcc.ai/@f1-manual/login_node" target="_blank" style="color: #007ACC;">
登入節點操作流程
</a>
</div>
<br>
**2. 安裝 Miniconda3**
```
[user@ilgn01 ~]$ mkdir -p ~/miniconda3
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
$ bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
$ rm -rf ~/miniconda3/miniconda.sh
$ ~/miniconda3/bin/conda init bash
$ ~/miniconda3/bin/conda init zsh
```
<font color="red">➤ **執行完**</font> `conda init` <font color="red">**後請重新登入 Login Node 登入節點,確保環境變數正確更新。**</font>
<br>
**3. 建立虛擬環境並安裝 Jupyter 相關工具**
- 使用下列指令建立名為 `ood_jupyter_python` 的虛擬環境並安裝 `jupyter` 與 `jupyterlab`
```bash
conda create -n ood_jupyter_python jupyter jupyterlab
```
- 建立完成後,請執行下列指令確認虛擬環境是否建立於 `/home/<username>/miniconda3/envs/ood_jupyter_python`
```bash
conda env list
```
- 若無請根據備註的操作,新增路徑到 `envs_dirs` 中,重新創造一個虛擬環境
```
[user@ilgn01 ~]$ conda create -n ood_jupyter_python jupyter jupyterlab
...
...
Proceed ([y]/n)? y
Downloading and Extracting Packages:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate ood_jupyter_python
#
# To deactivate an active environment, use
#
# $ conda deactivate
[user@ilgn01 ~]$ conda env list
# conda environments:
#
ood_jupyter_python /home/user/miniconda3/envs/ood_jupyter_python
```
**4. 將虛擬環境註冊至 Jupyter Kernel**
- 執行`conda activate ood_jupyter_python` 切換到 ood_jupyter_python 虛擬環境
```
[user@ilgn01 ~]$ conda activate ood_jupyter_python
```
- 執行 `ipython kernel install --user --name= “jupyter\_test\_python` 加ood_jupyter_python 虛擬環境到 jupyter
```
(ood_jupyter_python) [user@ilgn01 ~]$ ipython kernel install --user --name=ood_jupyter_python
0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
Installed kernelspec ood_jupyter_python in /home/u5846412/.local/share/jupyter/kernels/ood_jupyter_python
```
- 執行 `jupyter kernelspec list` 確認是否有註冊成功 jupyter\_test\_python
```
(ood_jupyter_python) [user@ilgn01 ~]$ jupyter kernelspec list
...
Available kernels:
ood_jupyter_python /home/u5846412/.local/share/jupyter/kernels/ood_jupyter_python
```
**5. 安裝其他 Python 套件(可選)**
完成上述步驟後,所建立的虛擬環境已成功整合至 Open OnDemand 的 Jupyter Kernel 中。後續如需安裝額外套件,僅需於該虛擬環境中安裝,即可在 Jupyter 中同步使用。
<br>
<!---是不是要放minicaonda 完整的範例--->
:::warning
<i class="fa fa-bullhorn" aria-hidden="true"></i> **備註**:
#### 若虛擬環境未建立於 `/home/<username>/miniconda3/envs/` ,請根據以下步驟把指定的目錄新增至 `envs_dirs` 配置中,並手動指定虛擬環境位置:
```
[user@ilgn01 ~]$ conda config --append envs_dirs /home/u5846412/miniconda3/envs
[user@ilgn01 ~]$ conda create --prefix /home/u5846412/miniconda3/envs/ood_jupyter_python_envs jupyter jupyterlab
...
Proceed ([y]/n)? y
...
[user@ilgn01 ~]$ conda env list
# conda environments:
#
ood_jupyter_python_envs /home/u5846412/miniconda3/envs/ood_jupyter_python_envs
[user@ilgn01 ~]$ conda activate ood_jupyter_python_envs
(ood_jupyter_python_envs) [user@ilgn01 ~]$ ipython kernel install --user --name=ood_jupyter_python_envs
...
Installed kernelspec ood_jupyter_python_envs in /home/u5846412/.local/share/jupyter/kernels/ood_jupyter_python_envs
(ood_jupyter_python_envs) [user@ilgn01 ~]$ jupyter kernelspec list
...
Available kernels:
ood_jupyter_python_envs /home/u5846412/.local/share/jupyter/kernels/ood_jupyter_python_envs
(ood_jupyter_python_envs) [user@ilgn01 ~]$
```
✅ 正確路徑:
❌ 錯誤路徑:
:::
<br>
---
<br>
## 登入 Open OnDemand
1. 請在您慣用的瀏覽器中,輸入以下任一網址以開啟 Open OnDemand 登入頁面:
- https://f1-stn01.nchc.org.tw/
- https://f1-stn02.nchc.org.tw/
2. 將看到以下登入介面,請輸入您於 **創進一號(F1)** 的 **主機帳號** 與 **密碼** 完成登入。
<font color="blue">➤ **若您忘記主機帳號,可前往 [iService 主機帳號查詢教學](https://man.twcc.ai/@f1-manual/iService)**</font>

:::danger
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i> **注意:**
為確保安全性,**登入網頁會有時效限制**,若您登入過程中閒置時間過長或已完成登入後又重新登入,系統可能會出現錯誤提示`Bad Request`,此時請重新輸入網址(https://f1-stn01.nchc.org.tw/ 或 https://f1-stn02.nchc.org.tw/ )後登入。
:::
<br>
### 開啟 Jupyter Notebook / JupyterLab 應用程式
1. 從首頁點選 **Jupyter Notebook / JupyterLab App** 圖示開啟

2. 或可透過選單 **Interactive Apps → Jupyter/JupyterLab** 開啟

3. 開啟後**填寫資源配置表單**,可依需求選擇下列兩種方式開啟:
- 方法一:直接啟用Jupyter Notebook / JupyterLab App

- 方法二:使用自定義的 Miniconda Environment 啟用
<font color="blue">➤ 若您已依照教學 [建立自定的虛擬環境](https://man.twcc.ai/@f1-manual/App_Jupyter_Lab#%E5%BB%BA%E7%AB%8B%E8%87%AA%E8%A8%82-Miniconda-Environment-%E4%B8%A6%E6%95%B4%E5%90%88%E8%87%B3-Jupyter-Notebook--Jupyter-Lab),請勾選下方選項並輸入環境名稱,即可指定使用該虛擬環境:</font>

<font color="blue">➤ 若輸入的虛擬環境尚未建立,將無法成功 Launch,請點選 Delete 移除後重新索取資源</font>

:::info
<i class="fa fa-exclamation-circle" aria-hidden="true"></i> **資源設定建議表:**
| 欄位名稱 | 說明 |
|-|-|
| **Project ID** | 系統將自動載入您所加入的計畫列表,請選擇錢包餘額足夠的計畫。 |
| **Jupyter interface** | 選擇要啟用的介面 Jupyter Notebook 或 JupyterLab。|
| **CPU cores** | 設定所需 CPU 核心數或 thread|
| **Memory (GB)** | 設定 Job 可用記憶體(以 GB 為單位)。<br><font color="#f00">建議每核心搭配至少 4GB 記憶體(例如 2 cores 建議配 8GB)</font> |
| **Number of Hours** | 設定 Job 執行時數,時間到將自動終止。 <font color="#f00"> (上限為兩小時) </font> |
| **Check box if using custom miniconda Environment** | 若欲使用自定虛擬環境,請勾選此項,並於下方填寫環境名稱。 |
| **Environment** | 請輸入已建立之 Miniconda 環境名稱。<br><font color="#f00"> 請確認該環境已安裝 `notebook` 或 `jupyterlab`,否則將無法啟動設定自定的Environment名稱。</font> |
:::
:::warning
<i class="fa fa-bullhorn" aria-hidden="true"></i> **備註**:
建議設定較高配置的 CPU cores 及 Memory(例如:2 cores 與 8 GB 記憶體),有助於快速啟動 Jupyter 環境。
:::
<br>
---
<br>
### 啟動 Jupyter Notebook / JupyterLab(未勾選自定義環境)
**1. 執行 Jupyter 任務**
- 在資源配置表單填寫完成後,點選 **「Launch」** 按鈕以執行 Jupyter 任務。
- 若 Job 成功啟動,系統將出現以下對話視窗
- **Host** 欄位顯示您所分配的節點主機名稱
- 點選 **Session ID** 可開啟該任務的設定檔與 log 檔所在目錄

**2. 開啟 Jupyter 操作介面**
點擊 **「Connect to Jupyter」** 按鈕,即可啟動 Jupyter Notebook 或 JupyterLab:
- 在Jupyter Notebook 畫面中,可以選擇「New」來建立新的 Notebook。

- Jupyter Lab 畫面則顯示整合式的工作區介面,適合進行多檔案、多視窗的開發操作。

<br>
---
<br>
### 啟動 Jupyter Notebook / JupyterLab(使用自定義 Miniconda 環境)
**1. 啟動 Jupyter 任務**
- 完成表單填寫後,請勾選 **「Check box if using custom Miniconda Environment」**
- 並於 **Environment** 欄位填入自定義環境名稱(例如:`ood_jupyter_python_envs`),再點選 **「Launch」** 啟動任務。
<font color="red">➤ **如果環境啟動失敗,請查看備註的內容說明,並重新設定。**</font>

<br>
**2. 進入 Jupyter 操作介面**
- 任務成功啟動後,點選 **「Connect to Jupyter」** 進入操作頁面。
- **Host** 欄位顯示您被分配的主機名稱,
- 點擊 **Session ID** 可檢視該任務之設定檔與 log 資訊

<br>
**3. 在 ==Jupyter Notebook== 中啟用虛擬環境**
- 進入後可由上方選單點選 `File → New Notebook` 以建立新的筆記本

- 系統會彈出 **Select Kernel** 對話框,請選擇您建立的虛擬環境(例如:`jupyter_test_python`)。

- 若需更改既有的 Notebook kernel,可由上方選單選擇 `Kernel → Change Kernel` 進行更換。
<font color="red">➤ **若需安裝額外套件,請返回登入節點操作。安裝完畢後,請記得於 Notebook 中重新啟動 (`Kernel → Restart Kernel`) 以載入新環境**</font>

**4. 在 ==JupyterLab== 中啟用虛擬環境**
- 進入後,於 **Launcher** 視窗中點選您的自定義 kernel(例如:`ood_jupyter_python_envs`)來建立新 Notebook。

- 若需更改既有的 Notebook kernel,可由上方選單選擇 `Kernel → Change Kernel` 進行更換。

<br>
---
<br>
## 刪除 Interactive Session
為釋放計算資源並避免重複啟動錯誤,使用完 Jupyter Notebook 或 JupyterLab 後,請務必主動關閉對應的 Interactive Session。可依照以下任一方式操作:
**方式一:從 Jupyter Notebook 中關閉**
- 點選上方選單 `File → Shut Down`。
- 系統將關閉目前的 Notebook 視窗並自動終止執行中的計算節點任務。

**方式二:從 JupyterLab 中關閉**
- 點選上方選單 `File → Shut Down`。
- 操作將同樣關閉整個 Lab 環境並釋放資源。

**方式三:透過 Open OnDemand 頁面手動關閉**
- 前往 OOD 首頁,點選 `My Interactive Sessions`。
- 找到執行中的 Session,按下 **「Delete」** 按鈕即可終止並刪除。

- 系統將跳出確認視窗,請點選 **「Confirm」** 確認刪除。
