Pycharm關于遠程JupyterLab以及JupyterHub登錄問題
需求分析
在之前的文章中我們討論了如何使用Pycharm連接遠程服務器并進行調(diào)試,Pycharm中SSH、SFTP連接遠程服務器編輯調(diào)試教程,
成功在Pycharm中添加了遠程Python解釋器,并用其運行了服務器上的.py文件,
但是對于很多數(shù)據(jù)科學工作者,Jupyter Notebook的靈活易用性仍然是他們選擇其的重要一環(huán),
目前的教程講解的多是如何在服務器上開啟jupyter notebook服務并在Pycharm中使用,而并沒有關注到多人服務器中的JupyterHub配置情況。
本文章重點討論如何在遠程服務器開啟JupyterHub且不能私自打開jupyter notebook服務的情況下如何配置Pycharm使其可以使用遠程Jupyter notebook服務。
登錄網(wǎng)頁JupyterHub
由于無法自己開設jupyter notebook服務,因此首先需要知道服務器的IP和JupyterHub的端口,在瀏覽器中輸入(將IP替換為你的服務器IP,Port替換為你的服務器的JupyterHub所占用的端口)
http://IP:Port/
進入JupyterHub服務頁面,如下圖所示

這個時候會輸入用戶名和密碼,這里的用戶名和密碼對應服務器的用戶名和密碼,填好后點擊登錄,此時會自動開啟服務,并進入你的JupyterLab頁面,
如下圖所示,畫紅圈的地方代表了你的虛擬環(huán)境。

如果需要向jupyterlab中添加自己的anaconda環(huán)境,
首先進入該環(huán)境,然后執(zhí)行以下命令:
python -m ipykernel install --user --name 參數(shù)1 --display-name "參數(shù)2"
注意需要安裝ipykernel這個包,命令中的“參數(shù)1”需要改為你的conda創(chuàng)建的環(huán)境的名稱,“參數(shù)2”需要改為你想要在jupyterlab上展示的名字。
例如:
python -m ipykernel install --user --name pytorch1.6 --display-name "pytorch1.6"
執(zhí)行完這條命令后,會在用戶目錄下創(chuàng)建相關kernel,此時再打開jupyterhub,就能選擇這個kernel了,我這里的kernel名字是torch1.13。
正常來講這個時候我們就可以在瀏覽器的JupyterLab里面打開文件敲代碼了,接下來配置Pycharm
Pycharm配置遠程JupyterHub
打開你需要在服務器運行的Jupyter項目,配置好與服務器的SFTP設置(如何配置請參考"需求分析"中的連接),初始狀態(tài)如下圖所示,紅圈和綠圈分別對應著本地和遠程服務器mapping的項目文件,接下來我配置mi_estimation.ipynb文件來作為演示。

進入設置中的Jupyter Server頁面,
如下圖所示,選擇Configured Server

在這個地方輸入與前面瀏覽器打開JupyterHub相同的網(wǎng)址,即http://IP:Port/,點擊確定,Pycharm會自動驗證該地址。
這個時候可以看到下圖紅色標記處就已經(jīng)有你的Jupyter Server了。

接著嘗試運行任意一個cell,會彈出JupyterHub的認證頁面,
如下圖所示

在這里要尤其注意的是,這里的Username是你在服務器的用戶名。
但是!但是!這里需要填的是Token,而不是密碼,接下來我們需要獲取Token。
回到在上個階段打開的JupyterHub網(wǎng)頁,選擇左上角File->Hub Control Panel

彈出下圖所示頁面,選擇圖中圈出的Token

在這個地方列出了目前所有用到JupyterHub Api的地方,
如下圖所示

因為我們需要在Pycharm上再配一個Jupyter,所以點擊上方按鈕“Request new API token”
如下圖所示

接下來,粘貼此Token至Pycharm剛才彈出的對話框的Token位置,點擊OK

這個時候剛才我們運行的那個Cell已經(jīng)開始運行了,并給出了運行結果,右上角可以選擇虛擬環(huán)境

至此,Pycharm配置JupyterHub服務來遠程運行Jupyter文件已全部結束。
一點思考
根據(jù)之前的文章可以發(fā)現(xiàn),當我們運行.py文件時,點擊運行的那一刻,Pycharm是先將本地的文件上傳至服務器覆蓋相應文件后,再調(diào)用遠程Python解釋器來運行服務器文件。
而針對.ipynb文件卻不是這種邏輯,在運行每一個Cell的時候,其實Pycharm并沒有將整個文件上傳到服務器上,而是僅僅使用Jupyter服務來運行相應Cell代碼,只有當我們手動將整個文件upload到服務器上時才會對服務器上相應文件進行更新。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python中的生成器實現(xiàn)周期性報文發(fā)送功能
本文主要介紹了python中的生成器實現(xiàn)周期性報文發(fā)送功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
Python3.13?+Pycharm?開發(fā)環(huán)境配置
本文全面解釋了如何配置Python3.13和PyCharm的開發(fā)環(huán)境,適合初學者,詳細介紹了Python安裝步驟、選擇解釋器、常用快捷鍵和推薦插件,強調(diào)了虛擬環(huán)境的重要性,以及如何使用PyCharm進行高效開發(fā),感興趣的可以了解一下2024-11-11
使用Pandas實現(xiàn)數(shù)據(jù)的清理的入門詳解
數(shù)據(jù)清理是數(shù)據(jù)分析過程中的關鍵步驟,它涉及識別缺失值、重復行、異常值和不正確的數(shù)據(jù)類型,本文將介紹6個經(jīng)常使用的數(shù)據(jù)清理操作,希望對大家有所幫助2023-08-08
淺析Python與Mongodb數(shù)據(jù)庫之間的操作方法
這篇文章主要介紹了Python與Mongodb數(shù)據(jù)庫之間的操作,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
一文教你如何創(chuàng)建Python虛擬環(huán)境venv
創(chuàng)建?Python?虛擬環(huán)境是一個很好的實踐,可以幫助我們管理項目的依賴項,避免不同項目之間的沖突,下面就跟隨小編一起學習一下如何創(chuàng)建Python虛擬環(huán)境venv吧2024-12-12

