一、JupyerHub
jupyter notebook 是一個非常有用的工具,我們可以在瀏覽器中任意編輯調試我們的python代碼,并且支持markdown 語法,可以說是科研利器。但是這種情況適合個人使用,也就是jupyter notebook以我們自己的主機作為服務器,然后我們用自己的瀏覽器編輯自己本機的python代碼。
最近公司搭建了業務模型的服務器,每個人都有一個用戶可以使用GPU資源,但是每次寫代碼要在本地調試好了然后再ssh提交到服務器運行,如果有問題,還要再在本地更改然后再次提交,非常的麻煩。為了解決這個煩惱,我們在GPU服務器上搭建了jupyterhub, 它和notebook不同之處在于它是一個hub,哈哈,也就是notebook的服務器,把它裝在服務器上,然后大家可以通過局域網在瀏覽器上進行python代碼的編輯和調試。
jupyterhub 和 jupyter notebook一樣是python的一個包,可以通過pip安裝,也可以通過 conda安裝,在服務器端安裝就可以供大家使用。
二、環境
確保你的服務器環境滿足以下要求:
- 一臺運行支持的操作系統(如 Ubuntu、CentOS 等)的服務器
- 安裝了 Python 和 pip
- 足夠的系統資源(CPU、內存、磁盤空間)
1、Python環境
安裝 Miniconda 是管理 Python 環境以及安裝 Python 包的一個方便工具。
以下是在 CentOS 上安裝 Miniconda 的步驟:
- 下載 Miniconda 安裝包:
在終端中執行以下命令,下載適用于 CentOS 的 Miniconda 安裝包(64 位):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh或curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 運行安裝腳本:
運行下載的腳本來安裝 Miniconda。首先,給腳本執行權限:
chmod +x Miniconda3-latest-Linux-x86_64.sh
然后運行安裝腳本:
./Miniconda3-latest-Linux-x86_64.sh
按照提示,閱讀許可協議并同意。
- 配置 Miniconda:
安裝過程中會提示你是否將 Miniconda 添加到 shell 的 PATH 中。選擇 “yes”,這將允許你在終端中直接使用 conda 命令。
- 重啟終端:
安裝完成后,為了使配置生效,關閉當前終端窗口,然后重新打開一個新的終端。
5.測試安裝:
在新的終端中,運行以下命令來驗證 conda 是否已成功安裝:
root@bt:/home/fengkong# conda --version
conda 23.5.0
- 安裝插件補全
conda install -c conda-forge conda-bash-completion
備注:
3、配置環境變量:.bashrc
如果選擇了init會自己配置
export PATH=~/miniconda3/bin:$PATH
3.5、卸載miniconda
找到miniconda3的文件夾,使用rm命令將它刪除:
然后,用vim命令進入.bashrc文件,將conda的語句用#注釋掉
最后,重新激活一下source .bashrc就可以了。
2、Jupyter Lab
安裝 JupyterLab 非常簡單,只需一行命令即可:
conda 安裝 [Miniconda]
conda install -c conda-forge jupyterlab
or
pip 安裝 pip install jupyterlab
- 注冊環境
conda create -n python3_7 python=3.7 ipykernel
or 創建后 conda install ipykernel
- 環境添加到ipykernel
(添加的是當前環境 需要先activate到需要環境)
python -m ipykernel install --user --name python3_7 --display-name "python3_7"
- 查看,刪除注冊到內核的環境
jupyter kernelspec list 查看
jupyter kernelspec remove python3_7 刪除
conda remove -n py36 --all 刪環境
- 配置文件
jupyter lab --generate-config 生成配置
c.ServerApp.ip = '*' 所有人訪問
c.LabApp.open_browser = False 不再默認打開瀏覽器
jupyter lab password 修改密碼
conda config --set auto_activate_base false 禁止自啟環境打開這個`jupyterhub_config.py`
c.Spawner.default_url = '/lab'
c.JupyterHub.ip = '0.0.0.0'
- 安裝插件
conda install nodejs
- 裝中文
pip install jupyterlab-language-pack-zh-CN
- 啟動
nohup jupyterhub -f /opt/jupyterhub/jupyterhub_config.py &
3、關聯系統的其它認證用戶
用Root賬戶啟動,才能關聯系統的其它認證用戶
平臺環境基于jupyterhub+conda構建,默認環境是ubuntu賬戶下的conda環境,請勿用作開發環境,
請創建并使用自己的linux賬戶后,再自建環境使用
環境注冊命令
環境名稱 {python版本}{具體功用(看是否專用項目)}{使用人}
示例:python38_{xx模型}_long
> 注冊環境:在創建環境的同時添加ipykernel核心
conda create -n python38_xxx python=3.8 ipykernel > 環境添加到ipykernel(操作前必須先激活進入對應環境)
conda activate python38_xxx
python -m ipykernel install --user --name python38_xxx --display-name "python38_xxx"內核注冊異常處理
1、手動執行內核添加命令 如上: python -m ipykernel install --user --name python38_xxx --display-name "python38_xxx"
2、重啟面板,File->HubControlPanel->stopMyServer&startMyServer
3、選擇內核時可選中always start the preferred kernel,設置為默認內核環境
導入windows環境包
pip list --format=freeze > requirements.txt進入到需要安裝的環境
conda activate python38_xxx 刪除requirements.txt文件多余的包(conda自帶或windows特有
類似:conda,clyent,distribute,pip,jupyter,setuptools,wheel .. 安裝過程失敗或卡住不動的包,建議刪除后繼再單獨安裝pip導入
python -m pip install -r requirements.txt