如何在本地访问远程服务器的jupyter notebook?
背景
jupyter notebook作為一個非常好用的工具,我們經常會在學習python以及深度學習的時候用到,但是經常我們面臨的問題是遠程服務器上的jupyter notebook,我們可能在本地沒法使用,作者遇到的主要場景有:
- 服務器是云服務器,雖然運行jupyter notebook,顯示
8888端口已開,但是實際上云服務器沒有開放8888端口,因此我們在本地訪問不了 - 直接在服務器運行
jupyter notebook開啟的ip是http://127.0.0.1,雖然我們可以指定ip地址,但是比較麻煩,并且還是可能遇到1的問題
那么我們應該怎么辦呢?
解決方法
主要思想:可以使用ssh命令做一個端口映射
我們先來了解一下如何將遠程的端口映射到本地的命令,如下:
ssh -L 8080:localhost:8888 user@xxx.xxx.xxx
如果我們遠程服務器jupyter notebook開放的端口是8888,我們通過上面的命令便可以將遠程的8888端口映射到本地的8080端口,其中user是遠程服務器的用戶名,xxx.xxx.xxx是遠程服務器的ip,下圖是我在windows命令中的測試結果:
遠程服務器中jupyter notebook 使用虛擬環境遇到的問題解決
當前比較流行的是使用conda來進行管理python虛擬環境,作者也是如此使用的,但是在作者使用服務器虛擬環境中的jupyter notebook時候,發現運行jupyter notebook命令后,默認開啟的是服務器默認的python環境,而沒有找到虛擬環境的位置,按照網友的圖,正常顯示應該是這樣的:
但是我實際上是這樣的:
網友說需要安裝這個插件才可以,但是實際測試好像沒什么用,參考方法在這里:
conda install nb_conda
于是作者在嘗試了很多辦法之后,使用了如下辦法終于成功的解決了使用虛擬環境的jupyter notebook的問題,解決方法如下:
- 先進入虛擬環境
- 按照jupyter notebook
pip install jupyter
- 安裝jupyterlab
pip install jupyterlab
- 找到虛擬環境python所在的位置
which python
比如作者通過上面的命令知道虛擬環境位置在:/home/ttd/.conda/envs/paddle/bin/目錄下
- 啟動jupyter notebook
/home/ttd/.conda/envs/paddle/bin/jupyter notebook
注意一定要使用虛擬環境下的jupyter notebook
最終大功告成!!
如果你覺得對你有用的話,歡迎點贊收藏
總結
以上是生活随笔為你收集整理的如何在本地访问远程服务器的jupyter notebook?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker打包镜像出现python安装
- 下一篇: 利用牛顿法求平方根-Go语言实现