- 服務器上安裝Jupyter
- 配置具有密碼的Jupyter Notebook
服務器上安裝Jupyter
安裝Jupyter其實很簡單, sudo pip install ipython jupyter
就可以了.
但如果, 服務器像是Ubuntu 14.04這種老版本, 默認python版本最新只到2.7.6, 安裝jupyter時可能報錯因ssl的問題安裝不了. 此時要更新Python2. 可以參考網上自行更新python的方法.
更好的解決方案是使用conda安裝新版本的python和相關需要的程序, 而不通過pip
進行安裝.
- 安裝Miniconda2 :
wget https://repo.anaconda.com/miniconda/Miniconda2-latest-Linux-x86_64.sh
chmod +x Miniconda2-latest-Linux-x86_64.sh; ./Miniconda2-latest-Linux-x86_64.sh
- 提示安裝目錄, 隨意, 可以默認. 最後提示是否把conda路徑加入到.
bashrc
的PATH
,yes
. conda install ipython jupyter
安裝好後, 可以運行jupyter notebook
進行測試(ctrl+c)退出.
- 運行notebook可能報錯:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
查看上面輸出時還有一段中文: 這將啓動一個基於tornado的HTML筆記本服務器,它提供一個html5/javascript筆記本客戶端。 看來是編碼的問題.
可以在運行前加入語言更改, LANG=en jupyter notebook. 如果可以解決, 可以把export LANG=en_US.UTF-8寫到.bashrc
配置Jupyter Notebook密碼
- 生成加密的密碼:
jupyter notebook password
- 改密碼會保存在
~/.jupyter/jupyter_notebook_config.json
內, 是一個sha1加密的密碼. - 生成jupyter配置文件,
jupyter notebook --generate-config
, 會生成一個./.jupyter/jupyter_notebook_config.py
文件. 內有各種參數和默認設置 (默認下全部註釋掉). 修改部分重要參數 nohup jupyter notebook >.jupyter/jupyter_notebook.log 2>&1 &
背景運行notebook, 也可以寫入到啓動文件哦.- 可以用
tail -f .jupyter/jupyter_notebook.log
追蹤日誌(前提有上面一句命令) - 瀏覽器輸入
服務器ip:端口號
, 輸入密碼, 即可遠程登錄notebook! - 默認下不允許使用
root
來運行notebook, 安全隱患太大了! 如果硬要用root, 需要參數--allow-root
.
vi ~/.jupyter/jupyter_notebook_config.py
####主要修改如下幾個配置
##因爲是要遠程訪問,這裏把 IP 設置爲服務器 IP或`0.0.0.0` ,默認是127.0.0.1或localhost, 這樣無法遠程訪問的.
c.NotebookApp.ip='0.0.0.0'
##本地訪問目錄, 不設置的話就是啓動命令所在的目錄
c.NotebookApp.notebook_dir = '$HOME/jupyter_data'
##是否需要自動彈出瀏覽器,服務器端一般不需要
c.NotebookApp.open_browser = False
##服務的端口,默認8888, 一般爲了安全用別的端口.
c.NotebookApp.port = 9999
- 默認沒有登錄密碼,每次啓動服務器後都會產生一個隨機數token,可以使用該token進行登錄到notebook. 配置了密碼後就不用每次使用隨機數token了
- 如果沒有使用前面的
jupyter notebook password
, 可以自己生成並設置密碼.
- 運行
ipython
from notebook.auth import passwd;passwd()
, 按提示輸入密碼.- 獲得一個sha1密碼, 如
'sha1:abcdefghijklmn1234567890'
- 更改配置文件裏的
c.NotebookApp.password = ''
, 將剛纔的sha1密碼輸入進去.