第三方平臺(tái)的 Jupyter Notebook 不好的地方在于裹驰,每次給你分配的運(yùn)行時(shí)間以及資源都是有限的;并且如果有些包不是內(nèi)置而是自己手動(dòng)下載的质欲,那么每次重新進(jìn)入到 Jupyter Notebook 中則需要再重新手動(dòng)下載安裝免绿,十分麻煩。
所以如果你有著自己的 VPS 服務(wù)器話钾军,也可以在 VPS 上對(duì) Jupyter Notebook 進(jìn)行部署。這樣的話你就可以隨時(shí)隨地訪問你服務(wù)器上的 Jupyter Notebook 了绢要。
Jupyter notebook+Anconda似乎是個(gè)很不錯(cuò)的選擇吏恭,anconda提供許多常見的數(shù)據(jù)科學(xué)包,如數(shù)學(xué)建模中常用的numpy,pandas,matplotlab等重罪,并且內(nèi)置了眾多開發(fā)工具樱哼,如Jupyter notebook,筆者現(xiàn)在就以阿里云ECS服務(wù)器為例介紹其部署和使用蛆封。
配置
服務(wù)商:阿里云
CPU:Intel Xeon E5-2682 v4 2核
內(nèi)存:DDR4 4GB
帶寬:1M
系統(tǒng)盤:40GB
操作系統(tǒng):Centos 8.0 64位
Anconda 安裝
第一步:下載安裝文件
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
根目錄出現(xiàn)一個(gè)文件Anaconda3-5.3.1-Linux-x86_64.sh
第二步:安裝Anconda
執(zhí)行的二進(jìn)制文件
bash Anaconda3-5.3.1-Linux-x86_64.sh
一路默認(rèn)即可唇礁,需要注意的是勾栗,會(huì)有一行需要你選擇是否選擇將其加入環(huán)境變量惨篱,默認(rèn)是no,但一定要選yesNХT一洹琢融!
第三步:換源并檢查安裝
關(guān)閉當(dāng)前終端,重啟一個(gè)新的終端2炯拧QА!
然后執(zhí)行下面兩行命令換到清華tuna源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
執(zhí)行下面的命令常遂,可以查看相關(guān)的conda源信息纳令,檢查源是否被正確更改
至此anconda安裝完畢
Jupyter Notebook的配置
第一步:安裝Jupyter Notebook
使用此命令安裝Jupyter Notebook
conda install jupyter notebook
嘗試任何conda命令,我得到一個(gè)錯(cuò)誤:
當(dāng)conda問你是否可以設(shè)置你的.bashrc文件時(shí),你可能點(diǎn)擊了NO.這是一個(gè)簡單的修復(fù):
vim .bashrc
并添加這一行:
export PATH = /root/anaconda3/bin:$PATH
python版本恢復(fù)為系統(tǒng)默認(rèn)的python
第二步:獲得密鑰
先運(yùn)行IPython,在終端運(yùn)行此命令直接打開ipython
iPython
在接下來的操作中克胳,依次執(zhí)行這兩條代碼
from notebook.auth import passwd
passwd()
按操作輸入密碼平绩,你將會(huì)得到一個(gè)接口密鑰,就是圖中被劃掉的部分漠另,記住他
第三步:打開相關(guān)接口捏雌,開放遠(yuǎn)程訪問
執(zhí)行下面的命令,他將在你的家目錄生成相關(guān)的配置文件
jupyter notebook --generate-config
一般的情況下笆搓,他不希望用root身份生成該配置文件性湿,如果報(bào)錯(cuò)的話,可以使用
jupyter notebook --generate-config --allow-root
正確操作下會(huì)返回該配置文件的位置满败,該配置文件在隱藏目錄下(開頭打.)
用vim打開配置文件肤频,并做出下面的修改,可以在最后添加下面幾行
c.NotebookApp.password = 'sha1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'#這里應(yīng)該是你的密鑰
c.NotebookApp.ip='*'#允許訪問的ip葫录,這里可以填寫*着裹,代表所有ip均可訪問
c.NotebookApp.open_browser = False
c.NotebookApp.port =80 #瀏覽器端口,80就是普通的http服務(wù)接口米同,打開時(shí)就不用指定port
插入安裝完成時(shí)提示的export命令骇扇,然后輸入如下命令以激活
source ~/.bashrc
最后再次運(yùn)行服務(wù),就成功啟動(dòng)了面粮!
nohup jupyter notebook &
這里的nohup表示掛起服務(wù)少孝,以便ssh客戶端關(guān)閉后依然可以使用
注意,如果重啟服務(wù)器后熬苍,可能需要重新啟動(dòng)notebook稍走,建議將此命令加入計(jì)劃任務(wù)中
建議不要使用root用戶啟動(dòng),這可能會(huì)破壞相關(guān)文件柴底,如果需要以root身份執(zhí)行婿脸,請(qǐng)執(zhí)行
nohup jupyter notebook --allow-root &
如果在使用過程中出現(xiàn)什么報(bào)錯(cuò),可以修復(fù)下柄驻,執(zhí)行
bash Anaconda3-5.3.1-Linux-x86_64.sh -u
因?yàn)橐玫絧andas學(xué)習(xí)數(shù)據(jù)分析于是裝了3.7
但是安裝后執(zhí)行pip3報(bào)錯(cuò)
發(fā)現(xiàn)只要升級(jí)一下pip3的版本就可以了
python3 -m pip install -U pip
-
啟動(dòng)jupyter notebook
nohup jupyter notebook > jupyter.log 2>&1 &
然后遠(yuǎn)程訪問即可狐树,如端口不通,使用如下命令開啟相關(guān)端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent
若遇到報(bào)錯(cuò):FirewallD is not running鸿脓,則使用如下命令啟動(dòng):
systemctl start firewalld.service
然后重新輸入上面的那個(gè)命令,完成后重啟防火墻:
firewall-cmd --reload
最后確認(rèn)添加是否成功:
firewall-cmd --zone=public --query-port=8888/tcp
問題解決
-
運(yùn)行時(shí)報(bào)“No module named 'nbbrowserpdf'”錯(cuò)誤
conda install -c anaconda-nb-extensions nbbrowserpdf