Pycharm關(guān)于遠(yuǎn)程JupyterLab以及JupyterHub登錄問題
需求分析
在之前的文章中我們討論了如何使用Pycharm連接遠(yuǎn)程服務(wù)器并進(jìn)行調(diào)試,Pycharm中SSH、SFTP連接遠(yuǎn)程服務(wù)器編輯調(diào)試教程,
成功在Pycharm中添加了遠(yuǎn)程Python解釋器,并用其運(yùn)行了服務(wù)器上的.py
文件,
但是對于很多數(shù)據(jù)科學(xué)工作者,Jupyter Notebook的靈活易用性仍然是他們選擇其的重要一環(huán),
目前的教程講解的多是如何在服務(wù)器上開啟jupyter notebook服務(wù)并在Pycharm中使用,而并沒有關(guān)注到多人服務(wù)器中的JupyterHub配置情況。
本文章重點(diǎn)討論如何在遠(yuǎn)程服務(wù)器開啟JupyterHub且不能私自打開jupyter notebook服務(wù)的情況下如何配置Pycharm使其可以使用遠(yuǎn)程Jupyter notebook服務(wù)。
登錄網(wǎng)頁JupyterHub
由于無法自己開設(shè)jupyter notebook服務(wù),因此首先需要知道服務(wù)器的IP和JupyterHub的端口,在瀏覽器中輸入(將IP替換為你的服務(wù)器IP,Port替換為你的服務(wù)器的JupyterHub所占用的端口)
http://IP:Port/
進(jìn)入JupyterHub服務(wù)頁面,如下圖所示
這個時候會輸入用戶名和密碼,這里的用戶名和密碼對應(yīng)服務(wù)器的用戶名和密碼,填好后點(diǎn)擊登錄,此時會自動開啟服務(wù),并進(jìn)入你的JupyterLab頁面,
如下圖所示,畫紅圈的地方代表了你的虛擬環(huán)境。
如果需要向jupyterlab中添加自己的anaconda環(huán)境,
首先進(jì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)建相關(guān)kernel,此時再打開jupyterhub,就能選擇這個kernel了,我這里的kernel名字是torch1.13。
正常來講這個時候我們就可以在瀏覽器的JupyterLab里面打開文件敲代碼了,接下來配置Pycharm
Pycharm配置遠(yuǎn)程JupyterHub
打開你需要在服務(wù)器運(yùn)行的Jupyter項目,配置好與服務(wù)器的SFTP設(shè)置(如何配置請參考"需求分析"中的連接),初始狀態(tài)如下圖所示,紅圈和綠圈分別對應(yīng)著本地和遠(yuǎn)程服務(wù)器mapping的項目文件,接下來我配置mi_estimation.ipynb
文件來作為演示。
進(jìn)入設(shè)置中的Jupyter Server頁面,
如下圖所示,選擇Configured Server
在這個地方輸入與前面瀏覽器打開JupyterHub相同的網(wǎng)址,即http://IP:Port/
,點(diǎn)擊確定,Pycharm會自動驗證該地址。
這個時候可以看到下圖紅色標(biāo)記處就已經(jīng)有你的Jupyter Server了。
接著嘗試運(yùn)行任意一個cell,會彈出JupyterHub的認(rèn)證頁面,
如下圖所示
在這里要尤其注意的是,這里的Username是你在服務(wù)器的用戶名。
但是!但是!這里需要填的是Token,而不是密碼,接下來我們需要獲取Token。
回到在上個階段打開的JupyterHub網(wǎng)頁,選擇左上角File->Hub Control Panel
彈出下圖所示頁面,選擇圖中圈出的Token
在這個地方列出了目前所有用到JupyterHub Api的地方,
如下圖所示
因為我們需要在Pycharm上再配一個Jupyter,所以點(diǎn)擊上方按鈕“Request new API token”
如下圖所示
接下來,粘貼此Token至Pycharm剛才彈出的對話框的Token位置,點(diǎn)擊OK
這個時候剛才我們運(yùn)行的那個Cell已經(jīng)開始運(yùn)行了,并給出了運(yùn)行結(jié)果,右上角可以選擇虛擬環(huán)境
至此,Pycharm配置JupyterHub服務(wù)來遠(yuǎn)程運(yùn)行Jupyter文件已全部結(jié)束。
一點(diǎn)思考
根據(jù)之前的文章可以發(fā)現(xiàn),當(dāng)我們運(yùn)行.py
文件時,點(diǎn)擊運(yùn)行的那一刻,Pycharm是先將本地的文件上傳至服務(wù)器覆蓋相應(yīng)文件后,再調(diào)用遠(yuǎn)程Python解釋器來運(yùn)行服務(wù)器文件。
而針對.ipynb
文件卻不是這種邏輯,在運(yùn)行每一個Cell的時候,其實(shí)Pycharm并沒有將整個文件上傳到服務(wù)器上,而是僅僅使用Jupyter服務(wù)來運(yùn)行相應(yīng)Cell代碼,只有當(dāng)我們手動將整個文件upload到服務(wù)器上時才會對服務(wù)器上相應(yīng)文件進(jìn)行更新。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- pip?install?jupyterlab失敗的原因問題及探索
- JupyterLab遠(yuǎn)程密碼訪問實(shí)現(xiàn)
- python數(shù)據(jù)可視化JupyterLab實(shí)用擴(kuò)展程序Mito
- 手把手教你配置JupyterLab 環(huán)境的實(shí)現(xiàn)
- 如何以Winsows Service方式運(yùn)行JupyterLab
- Windows 下更改 jupyterlab 默認(rèn)啟動位置的教程詳解
- 解決jupyterLab打開后出現(xiàn)Config option `template_path`not recognized by `ExporterCollapsibleHeadings`問題
相關(guān)文章
非常詳細(xì)的Django連接mysql數(shù)據(jù)庫步驟記錄
我的Mysql中已經(jīng)有了項目需要使用的相關(guān)數(shù)據(jù)庫,現(xiàn)在需要通過django來獲取Mysql里的數(shù)據(jù)并使用,下面這篇文章主要給大家介紹了關(guān)于非常詳細(xì)的Django連接mysql數(shù)據(jù)庫步驟,需要的朋友可以參考下2022-10-10使用Python?http.server模塊共享文件的方法詳解
大家好,今天給大家介紹一下Python標(biāo)準(zhǔn)庫中的http.server模塊,這個模塊提供了一種簡單的方式來快速啟動一個HTTP服務(wù)器,文中給大家介紹了使用Python?http.server模塊共享文件的方法,需要的朋友可以參考下2024-05-05Python自定義函數(shù)的創(chuàng)建、調(diào)用和函數(shù)的參數(shù)詳解
這篇文章主要介紹了Python自定義函數(shù)的創(chuàng)建、調(diào)用和函數(shù)的參數(shù)、變量作用域等常見問題,需要的朋友可以參考下2014-03-03Python中Scipy庫在信號處理中的應(yīng)用詳解
信號處理作為數(shù)字信號處理領(lǐng)域的關(guān)鍵技術(shù),涵蓋了從信號獲取、傳輸、存儲到最終應(yīng)用的一系列處理步驟,在這篇博客中,我們將深入探討Python中Scipy庫在信號處理領(lǐng)域的應(yīng)用,需要的朋友可以參考下2023-12-12使用Python實(shí)現(xiàn)WebSocket服務(wù)器與客戶端通信功能
WebSocket?是一種基于?TCP?協(xié)議的通信協(xié)議,能夠在客戶端與服務(wù)器之間進(jìn)行全雙工(雙向)通信,相比傳統(tǒng)的?HTTP?協(xié)議,WebSocket?可以實(shí)現(xiàn)實(shí)時數(shù)據(jù)的傳輸,我通過?Python?實(shí)現(xiàn)一個簡單的?WebSocket?服務(wù)器,并使其與客戶端進(jìn)行通信,需要的朋友可以參考下2024-12-12python3.6連接MySQL和表的創(chuàng)建與刪除實(shí)例代碼
這篇文章主要介紹了python3.6連接MySQL和表的創(chuàng)建與刪除實(shí)例代碼,具有一定借鑒價值,需要的朋友可以參考下2017-12-12