jupyter notebook是交互式的Python運(yùn)行環(huán)境惧蛹,可以把它看做是一張草稿紙右冻,你可以通過它來進(jìn)行你的思考探索過程滑频,交互式的進(jìn)行淳地,每一步都能看到結(jié)果怖糊,也很方便查看之前的結(jié)果。它是使用Python或者R做科學(xué)計(jì)算和數(shù)據(jù)分析的利器颇象。前幾天有小伙伴問我怎么在jupyter上添加已經(jīng)創(chuàng)建的Python虛擬環(huán)境伍伤,為此我也去查了一些資料,很多資料都只是粗略的介紹怎么安裝和使用它夯到。最終還是通過google和自己摸索弄出來了嚷缭。
我使用的是anaconda,使用它可以讓我們大大減少與Python 一些第三方庫安裝配置環(huán)境進(jìn)行斗爭,比如在windows平臺(tái)安裝lxml阅爽,如果直接使用pip進(jìn)行安裝路幸,估計(jì)不折騰半天到一天,都不能順利安裝上付翁。使用anaconda简肴,你可以把這些時(shí)間拿來做更有意義的事情。使用anaconda的話百侧,安裝第三方庫優(yōu)先使用conda install xxx
砰识,如果提示找不到包,然后再使用pip install xxx
佣渴,如果pip安裝失敗辫狼,則查看它的報(bào)錯(cuò)信息,能用conda install
安裝的依賴先用這種方式安裝辛润,最后用pip install
安裝膨处。實(shí)在還不行,那么在這里下載.whl文件進(jìn)行安裝砂竖。如果還是不行真椿,那么就只有g(shù)oogle或者閱讀官方文檔了,自求多福乎澄!
上面說了這么多突硝,其實(shí)一句話,就是推薦大家使用anaconda置济。anaconda自帶了jupyter notebook解恰。如果是不是使用的anaconda,那么可以通過
pip install jupyter
安裝jupyter notebook.安裝好過后舟肉,在命令終端輸入jupyter notebook
修噪,那么在瀏覽器中訪問http://localhost:8888/
,就可以看到如下界面
可以看到我這里的運(yùn)行環(huán)境是Python2和Python3路媚,那么怎么添加其它環(huán)境呢黄琼?先使用conda info -e
查看我已有的虛擬環(huán)境
現(xiàn)在我想在jupyter中使用名為mjpy27這個(gè)內(nèi)核,怎么辦呢整慎?其實(shí)jupyter的ipykernel是使用一個(gè)叫kernel.json的文件管理的脏款,mac os 或者linux平臺(tái)可以通過
find . -name "kernel.json"
找到該文件的位置。如下圖所示
從圖中我們可以看到差不多有三種類型的位置裤园,要修改哪個(gè)位置的json文件才管用呢撤师?眼尖的同學(xué)可以看到./Library/Jupyter/kernels/python*/kernel.json
這類位置有三個(gè)json文件,經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn)需要在在./Library/Jupyter/kernels/
目錄下手動(dòng)創(chuàng)建一個(gè)文件夾拧揽,然后創(chuàng)建一個(gè)名為kernel.json
的文件剃盾,讓該文件和已有的虛擬環(huán)境相關(guān)聯(lián)腺占,即可使用該虛擬環(huán)境。該json文件的內(nèi)容大概如此:
{
"display_name": "mjpy27",
"language": "python",
"argv": [
"/Users/resolvewang/anaconda3/envs/mjpy27/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
]
}
再看看我們jupyter中的解釋器內(nèi)核痒谴,可以看到mjpy27被添加進(jìn)去了衰伯。
Linux中設(shè)置方法大致和mac上相同。windows中的話积蔚,kernel.json文件的位置位于
C:\Users\Administrator\AppData\Roaming\jupyter\kernels\python*\kernel.json
目錄下意鲸,需要多個(gè)虛擬環(huán)境,就手動(dòng)創(chuàng)建多個(gè)python文件夾和kernel.json*文件尽爆。
上面是從最通用的方法怎顾,其實(shí)有更加簡單的方法。如果你不想手動(dòng)修改kernel.json文件的話漱贱,可以直接為你想要的環(huán)境安裝ipykernel包槐雾。即:
conda install -n py27 ipykernel
然后激活這個(gè)環(huán)境,輸入
python -m ipykernel install --user
這樣就可以在jupyter中使用py27這個(gè)環(huán)境了饱亿。
如果所需版本并不是已有的環(huán)境蚜退,可以直接在創(chuàng)建環(huán)境時(shí)便為其預(yù)裝ipykernel闰靴。
conda create -n py27 python=2.7 ipykernel
不過這兩種方式彪笼,只能為Jupyter安裝一個(gè)Python2和一個(gè)Python3的環(huán)境。從上面過程可以看到蚂且,我們手動(dòng)生成kernel.json
的時(shí)候配猫,可能會(huì)創(chuàng)建多個(gè)python*
(或者其他名字)的文件夾,但是使用上述命令(conda/pip install ipykernel
)快捷創(chuàng)建的時(shí)候它不會(huì)生成除了python2
和python3
以外的文件夾杏死,所以最多只能創(chuàng)建兩個(gè)虛擬環(huán)境泵肄。
除此之外,jupyter notebook還可以遠(yuǎn)程運(yùn)行淑翼,為了安全腐巢,你可以在遠(yuǎn)程訪問的時(shí)候?yàn)閖upyter設(shè)置一個(gè)密碼,這里就不多講了玄括,因?yàn)榫W(wǎng)上很多資料都寫了冯丙,有興趣的可以google一下。