--- title: '遠端伺服器 conda 環境建立與 JupyterLab 使用設定' disqus: hackmd --- 遠端伺服器 conda 環境建立與 JupyterLab 使用設定 === [TOC] ## 版本資訊 文件版本:v0.0.1 進度: 尚未完成 執行環境:ubuntu 20.04 ## 一、 連線方式 使用powershell 或其他軟體登入 ssh 帳號名稱@140.124.72.109 -p 3000 ex: ssh masteree108@140.124.72.109 -p 3000 下圖為範例,請勿照打 ![](https://i.imgur.com/rJcZAaA.png) ## 二、 檔案上傳方式 可以在本地端使用SCP指令將檔案上傳至遠端伺服器 至本地端資料夾,假設要上傳 ivan 資料夾內容有test.txt ![](https://i.imgur.com/TUrldFb.png) 使用 powersell 輸入指令 ```gherkin= 上傳整個資料夾到家目錄下 scp -P 3000 -r 資料夾名稱 帳號@140.124.72.109:~/ 上傳檔案到家目錄下 scp -P 3000 檔案名稱 帳號@140.124.72.109:~/ ex: scp -P 3000 -r .\ivan masteree108@140.124.72.109:~/ ``` ![](https://i.imgur.com/QMPo7GX.png) ## 三、 相關安裝-遠端伺服器 :::warning 注意此區安裝步驟是在遠端桌機 ::: ### (1) 安裝 conda > (1) 至官網下載安裝檔 ```gherkin= https://www.anaconda.com/products/individual ``` > (2) 安裝 ```gherkin= 打開命令提示字元 cd ~/Dowloads/ sudo chmod +x Anaconda3-2021.05-Linux-x86_64.sh ./Anaconda3-2021.05-Linux-x86_64.sh 完成後會將Anaconda3相關路徑加到~/.bashrc ``` ### (2) 建立 python 環境 #### 創建 python opencv4.5 環境 :::info 下列創建指令 test 是名稱可任意取名 ::: ```gherkin= conda create -n pytorch python=3.8 ``` 按下y安裝基本套件 安裝後會提示切換環境指令 ![](https://i.imgur.com/lqGb9zM.png) 檢查目前電腦安裝的 conda 虛擬環境列表 ```gherkin= conda env list ``` 可看到剛剛建立的環境名稱 若要移除環境可使用下列指令 ```gherkin= conda env remove -n pytorch ``` #### 進入 conda 環境並安裝相關套件 ```gherkin= conda activate pytorch ``` 查詢 opencv 版本 ```gherkin= pip install opencv-python== ``` 底下會顯示版本,需安裝 4.5.1.48 ![](https://i.imgur.com/Ntcg2fv.png) 安裝相關套件 ```gherkin= conda install -c conda-forge jupyterlab -n pytorch pip install opencv-python==4.5.1.48 pip install opencv-contrib-python==4.5.1.48 pip install matplotlib pip install sklearn pip install scikit-image pip install imutils pip install tk pip install easygui pip install numpy pip install pandas pip install torchsummary pip install torch ``` 若要移除opencv更新版本可參考如下指令 ```gherkin= pip uninstall -y opencv-contrib-python pip uninstall -y opencv-python ``` ## 四、 相關安裝-本地端電腦 :::warning 注意此區安裝步驟是在本地端電腦 ::: ### (1) 安裝 vscode [下載 vscode](https://code.visualstudio.com/) ### (2) 開啟 vscode 安裝 SSH套件 安裝 Remote SSH 套件 ![](https://i.imgur.com/Ktv7Pap.png) ## 五、 使用本地端 Remote SSH 套件連線至遠端伺服器 設定 ssh 帳號名稱@140.124.72.109 -p 3000 ![](https://i.imgur.com/cPD9VCL.png) 設置後,在下圖位置點選右鍵 ![](https://i.imgur.com/yuCB3vb.png) 會要求輸入密碼 ![](https://i.imgur.com/VY9acM5.png) 連線後會到使用者帳號位置 可由下方步驟驗證 **開啟終端機** ![](https://i.imgur.com/pweFxUS.png) 輸入 pwd ,可確定現在位置 ![](https://i.imgur.com/Z9u9P6e.png) ## 六、 使用遠端伺服器 設定 JupyterLab 承襲 **五、 使用本地端 Remote SSH 套件連線至遠端伺服器** , 現在要在伺服器上操設定 JupyterLab 開啟終端機,輸入conda環境 ```gherkin= conda activate pytorch ``` 製作 config ```gherkin= cd ~/.jupyter jupyter-lab --generate-config ``` 執行 jupyter-lab ```gherkin= jupyter-lab ``` 將此行token複製下來 ```gherkin= 8c49b4da60ef91a465386a6a47a6fe878a60a1c651aab167 ``` ![](https://i.imgur.com/iX0sdEm.png) ctrl+c 離開 jupyter-lab 在 config 新增 token ```gherkin= cd ~/.jupyter vim jupyter_lab_config.py ``` 開啟檔案後再943行處增加下方token資訊,注意以下只是舉例,請使用上一步驟複製到的token ```gherkin= c.ServerApp.token = '8c49b4da60ef91a465386a6a47a6fe878a60a1c651aab167' ``` ![](https://i.imgur.com/9wQIOmG.png) 存檔離開 ```gherkin= :wq ``` 在重開一次 jupyter-lab ```gherkin= jupyter-lab ``` 選擇以瀏覽器開啟 ![](https://i.imgur.com/dCfJlKp.png) 進入後輸入剛剛複製的token ```gherkin= 8c49b4da60ef91a465386a6a47a6fe878a60a1c651aab167 ``` ![](https://i.imgur.com/p7vyT1z.png) 即可使用 jupyter-lab :::success ,token設定只需做一次,下次就不需再設定了 ::: ![](https://i.imgur.com/DAO8kTW.png) ## 七、 總結-連線遠端伺服器與使用 jupyter-lab ### (1) vscode Remote 套件連線至伺服器 開啟 vscode 後選擇遠端總管並連線 ![](https://i.imgur.com/YedO6mH.png) ### (2) 連線後使用 jupyter-lab 使用終端機,到要執行 jupyter-lab的程式資料夾 以下舉例隨意開啟的檔案(注意此檔案已經上傳到遠端不在本地端!!) ![](https://i.imgur.com/I20kbL0.png) 切換環境並執行 jupyter-lab ```gherkin= conda activate pytorch jupyter-lab ``` 選擇以瀏覽器開啟 ![](https://i.imgur.com/Nac3Nkk.png) 即可在遠端伺服器使用 jupyter-lab ![](https://i.imgur.com/3PujzEY.png) ### (3) 範例:手寫辨識模型 驗證遠端伺服器已可使用 ![](https://i.imgur.com/ZwWZ9wu.png) ![](https://i.imgur.com/Y0sm3Ta.png) ## 八、 未來工作 [如何建立一個團隊用的 Jupyter-Hub](https://blog.chairco.me/posts/2018/06/how%20to%20build%20a%20jupytre-hub%20for%20team.html) ## 九、 參考文獻 [SCP 指令](https://www.itread01.com/content/1546875721.html) ###### tags: `setup`