作者:ahworld
鏈接:jupyter調(diào)用多個R,python kernel
來源:微信公眾號seqyuan
著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者。
jupyter notebook是非常流行的調(diào)試代碼方式,對于R和python這種腳本語言能時時反饋每一行代碼的運行結(jié)果,對于調(diào)試畫圖代碼很便捷,而且能夠有效記錄分析過程。jupyter支持R kernel (已經(jīng)放棄Rstudio許久),有時候我們有多個R和python安裝路徑(例如多個conda環(huán)境下的R),本文講記錄jupyter調(diào)用多個kernel的設(shè)置步驟。
啟動jupyter服務(wù)
# 建立jupyter配置文件目錄
mdkir -p ~/.jupyter
# 設(shè)置密碼
jupyter lab password
# 建立文件目錄和設(shè)置密碼的步驟只需要做一次
# 啟動jupyter
# --notebook-dir參數(shù)可以自定義jupyter的啟動路徑,對于打開和保存文件便利
jupyter lab --port=1031 --notebook-dir=/seqyuan/project/
不想用時可以control + c 停掉服務(wù),或直接關(guān)掉terminal界面;
如果jupyter服務(wù)建立在服務(wù)器上,想長期使用,下面可以確保再關(guān)掉terminal的時候服務(wù)仍然運行 nohup jupyter lab --port=1008 --notebook-dir=/seqyuan/project/ &
添加python kernel
啟動jupyter服務(wù)的時候,默認會把jupyter所在環(huán)境的python加到jupyter kernel list里,不需要重復(fù)添加,如果想要把其他python加入到j(luò)upyter kernel,對應(yīng)的python先安裝ipykernel這個包
/customPYpath/envs/seurat4/bin/pip install ipykernel
# 下面就是添加 kernel代碼
# --display-name 參數(shù)可以自定義設(shè)置要展示的kernel名稱
/customPYpath/envs/seurat4/bin/python -m ipykernel install --user --name seurat4_py --display-name "seurat4py"
添加R kernel
如果想要把R加入到j(luò)upyter kernel list,對應(yīng)的R要先安裝IRkernel這個包
install.packages('IRkernel')
# devtools::install_github('IRkernel/IRkernel')
# 在啟動jupyter的user 同環(huán)境下打開R命令行
/customPYpath/envs/deeptools/bin/R
# 可以給kernel命名和展示名稱可以不一致
IRkernel::installspec(name = 'R4deeptools', displayname = 'deeptools_R')
有一點要特別注意:添加kernel時python和R的添加kernel命令一定要和啟動jupyter的環(huán)境和user一致,不然會導(dǎo)致添加不上。
使用上面的方法,任何R和python路徑都可以被添加到j(luò)upyter的kernel list,只要有IRkernel(或ipykernel)包就行,另外就是注意命名要區(qū)別開。
使用jupyter服務(wù)
本地電腦建立的jupyter服務(wù)
可以在瀏覽器輸入localhost:1031即可使用jupyter服務(wù),
先添加軟件kernel不需要關(guān)閉jupyter服務(wù),然加新kernel之后,點擊紅圈的+號即可看到新增的R在kernel列表里了。

在linux服務(wù)器建立的jupyter服務(wù)訪問方法
在瀏覽器輸入的應(yīng)該是服務(wù)器的IP地址+端口, IP:1031
如果需要跳轉(zhuǎn)才能訪問服務(wù)器,使用jupyter服務(wù)的方法可以參見本號之前的文章:
實用ssh命令|端口轉(zhuǎn)發(fā)訪問遠程集群jupyter服務(wù)
使用注意事項
有時候服務(wù)器會打開很多notenooks,這些notebooks有時會load比較大的數(shù)據(jù),積累多了容易使服務(wù)器卡頓,需要及時關(guān)閉不用的kernel,可以通過下圖中紅圈所示的按鈕查看在后臺運行的notebook,選擇性關(guān)閉。
