Jupyter Notebook遠程登錄及自定義配置

本文最後修改於2018-01-22,文章有問題或者轉載請及時聯繫本人,如果對你有幫助,別忘了點下關注和喜歡,感謝!

0 背景

anaconda的Jupyter Notebook使用越來越普遍,但是默認形式的配置(默認目錄,是否自動打開瀏覽器,端口等)未必是大家所適應的,本文即基於這樣的問題,介紹Jupyter Notebook的自定義配置,以及如何遠程登錄Jupyter Notebook。

1 Jupyter Notebook自定義配置

類似於其他可以自定義配置的軟件一樣,Jupyter Notebook也有自己的配置文件,但是默認是不存在的,需要我們自己手動生成。我們可以使用以下命令生成配置文件。

# linux和mac系統打開終端
# windows系統打開anaconda自帶的終端
jupyter notebook --generate-config

根據系統不同生成的文件所在位置也不同,mac和linux系統都在~/.jupyter目錄下,windows也在當前用戶目錄下的.jupyter目錄。名稱爲jupyter_notebook_config.py,幾乎所有的配置都是在這一個文件中完成。

2 個性化配置

有了配置文件,我們就可以就可以進行個性化配置。使用編輯器打開配置文件,如果想要改變默認目錄,在文件中搜索c.NotebookApp.notebook_dir,在後邊填寫你期望的默認目錄。如果你想改變端口,搜索NotebookApp.port更改即可。注意,默認這些配置都是被註釋掉的,你在更改後必須去掉這行前邊的#符號。

3 設置Jupyter Notebook遠程登錄(選)

有時候我們想讓Jupyter Notebook運行在服務器上,但是我們又想在本機通過瀏覽器操作,如何實現呢?

首先,我們爲遠程的Jupyter Notebook創建密碼,打開IDE或者命令行,輸入如下命令:

from notebook.auth import passwd
passwd()
# 此時需要輸入兩次密碼(一次設置,一次確認),然後生成sha1的密文,拷貝下來。
# Enter password: ········
# Verify password: ········
# sha1:b11ba7ae862e:6eeb922ef6b770e43a1c90922ba341faaaaaaaa

如果提示notebook模塊不存在,那麼使用conda install noteobok來安裝。

輸入passwd()後需要兩次鍵入密碼,之後會產生一段密文,複製這段密文(包含sha1:),找到下列行,修改配置文件如下:

c.NotebookApp.ip='*' # 允許所有ip訪問
c.NotebookApp.password = u'sha1:...剛纔複製的那個密文'
c.NotebookApp.open_browser = False # 是否打開瀏覽器
c.NotebookApp.port = 8888 #指定端口

之後,在服務器上使用jupyter notebook啓動,然後本機通過http://address_of_remote:8888遠程訪問即可,登錄界面需要輸入設置的密碼。

注意一定要確保端口是否打開,如果使用阿里雲等服務,還要確保供應商的安全策略下端口是否打開,這塊就不在本文討論範圍內啦,有問題可以留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章