07_交互式教學(xué)工具與Jupyter NB用法

內(nèi)容摘要:在前面講Python的時(shí)候到踏,我們談到過Jupyter筆記本,為什么今天要再專門討論一次呢昵济?因?yàn)檫@個(gè)工具太重要了智绸,除了是Python技術(shù)傳播和應(yīng)用的重要幫手,還可以為實(shí)現(xiàn)可重復(fù)科學(xué)研究提供技術(shù)保障访忿。JupyterNB是開源陣營(yíng)中的優(yōu)秀代表瞧栗,作為一款編輯器除了支持Python也可以支持R,現(xiàn)在已經(jīng)成為專業(yè)工具包教學(xué)與科研中必不可少的工具海铆。

1迹恐、Jupyter技術(shù)體系

Jupyter提供一套開源工具的生態(tài)系統(tǒng)來方便交互式計(jì)算和數(shù)據(jù)分析。在此分析中卧斟,讓用戶直接參與到計(jì)算過程(通過執(zhí)行代碼來理解一個(gè)問題殴边,并迭代式地改進(jìn)自己的方法)是Jupyter項(xiàng)目的初心。

最初的Jupyter是從IPython項(xiàng)目演變而來的珍语,2001年這個(gè)作為Notebook的萌芽找都,期望通過交互式的Python和科學(xué)Python生態(tài)系統(tǒng),讓研究結(jié)果可以無障礙地被共享廊酣。對(duì)于用戶可以專注于使用Python進(jìn)行交互式計(jì)算來應(yīng)對(duì)科學(xué)計(jì)算的需求和工作流程能耻。

為了更好地不依賴于操作系統(tǒng),不受平臺(tái)限制亡驰,Jupyter NB基于Web環(huán)境構(gòu)建晓猛,也就是你有瀏覽器就可以使用,無論本地還是遠(yuǎn)程凡辱。以Jupyter開頭的工具也是越來越多(https://github.com/jupyter
)戒职,除了Jupyter Notebook,還有:

  • Jupyter Lab:下一代的Notebook透乾,提供一體化環(huán)境洪燥,有點(diǎn)IDE的感覺磕秤,包括:Notebook,Shell捧韵,Markdown編寫等市咆。
  • Jupyter Hub:解決多用戶使用和認(rèn)證的問題,就是輸入密碼才能用再来。
  • Jupyter Kernel Gateway:讓你的nb代碼秒變微服務(wù)接口的神器蒙兰。
  • Jupyter Enterprise Gateway :支持分布式計(jì)算和多服務(wù)調(diào)度的私有云解決方案。
  • mybinder:提供一鍵式部署的GitHub存儲(chǔ)庫(kù)芒篷,用來存放自己的代碼搜变、數(shù)據(jù)和notebook文件。
  • Binderhub:下一代的binder针炉,與JupyterHub相配合挠他,提供從容器在云端部署的解決方案。

2篡帕、有代碼就出結(jié)果的即時(shí)體驗(yàn)

Jupyter NB的定位與Spyder和PyCharm這類的IDE不同殖侵,它主要是給用戶提供一個(gè)工作環(huán)境,更聚焦與解決問題赂苗。而不是開發(fā)類庫(kù)愉耙,搭建架構(gòu)贮尉。如果你是一個(gè)用戶拌滋,而不是開發(fā)者,哪直接選擇nb吧猜谚!NB猶如一個(gè)word文檔败砂,在里面你只要輸入計(jì)算公式,馬上就可以給出顯示結(jié)果魏铅。同時(shí)昌犹,你還可以在上面加入任何標(biāo)注和解釋。

其特有的ipynb文件览芳,可以保存成pdf斜姥,html甚至還原為py代碼。下圖是我的一個(gè)筆記本打開效果(圖1)沧竟。你之前運(yùn)行得到的結(jié)果都在上面铸敏,這對(duì)于科學(xué)研究用戶非常重要,因?yàn)橹苯幼x論文悟泵,無法知道每一步細(xì)節(jié)杈笔,但是看NB就能看到每一個(gè)參數(shù)是怎么設(shè)置的,這對(duì)于可重復(fù)的科學(xué)研究至關(guān)重要糕非!

圖1 有代碼就有結(jié)果的即時(shí)體驗(yàn)

可能有些小盆友注意到蒙具,我的界面不太一樣球榆,左上角工具欄的圖標(biāo)怎么沒見過(這是一個(gè)叫Zenmode的沉浸式編程模式)?感興趣的往下看...

3禁筏、必會(huì)的NB應(yīng)用技巧

Jupyter NB功能雖好持钉,但是比如內(nèi)存變量查看,代碼格式化等還是與在IDE中的體驗(yàn)差了點(diǎn)融师。這時(shí)候你要知道NB的擴(kuò)展功能右钾,即nbextension。首先我們看怎么安裝旱爆,同樣打開一個(gè)python的虛擬環(huán)境舀射,命令行模式下。

安裝命令

 pip install jupyter_contrib_nbextensions
 jupyter contrib nbextension install --user
#啟用 nbextensions
 jupyter nbextension enable codefolding/main

安裝后怀伦,應(yīng)該看到如下圖2所示的效果脆烟,里面提供了上百種小擴(kuò)展。根據(jù)你的需要安裝擴(kuò)展(因?yàn)镴upyter是基于web的房待,所以很多Javascript的技術(shù)都能應(yīng)用邢羔,可擴(kuò)展的空間非常大)。

圖2 Jupyter NB擴(kuò)展插件

安裝完插件后桑孩,再打開一個(gè)ipynb文件后拜鹤,你會(huì)發(fā)現(xiàn)編輯器不一樣啦,比如我日常用的記事本效果是這樣地(圖3)流椒。變量編輯(1)敏簿,代碼長(zhǎng)短位置提示(2)、大綱視圖(3)都有宣虾。

圖3 擴(kuò)展插件使用效果

一句話總結(jié):Jupyter notebook和Lab都是非彻咴#活躍的開源項(xiàng)目,集中了很多先進(jìn)的web技術(shù)绣硝,比如ArcGIS這類的平臺(tái)都推出了基于它的NB套件蜻势。如果你還不會(huì),我想Jupyter值得你花一些時(shí)間去學(xué)習(xí)鹉胖!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末握玛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子甫菠,更是在濱河造成了極大的恐慌挠铲,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淑蔚,死亡現(xiàn)場(chǎng)離奇詭異市殷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刹衫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門醋寝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搞挣,“玉大人,你說我怎么就攤上這事音羞〈呀埃” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵嗅绰,是天一觀的道長(zhǎng)舍肠。 經(jīng)常有香客問我,道長(zhǎng)窘面,這世上最難降的妖魔是什么翠语? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮财边,結(jié)果婚禮上肌括,老公的妹妹穿的比我還像新娘。我一直安慰自己酣难,他們只是感情好谍夭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著憨募,像睡著了一般紧索。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上菜谣,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天珠漂,我揣著相機(jī)與錄音,去河邊找鬼葛菇。 笑死甘磨,一個(gè)胖子當(dāng)著我的面吹牛橡羞,可吹牛的內(nèi)容都是我干的眯停。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼卿泽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼莺债!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起签夭,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤齐邦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后第租,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體措拇,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年慎宾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丐吓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浅悉。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖券犁,靈堂內(nèi)的尸體忽然破棺而出术健,到底是詐尸還是另有隱情,我是刑警寧澤粘衬,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布荞估,位于F島的核電站,受9級(jí)特大地震影響稚新,放射性物質(zhì)發(fā)生泄漏勘伺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一褂删、第九天 我趴在偏房一處隱蔽的房頂上張望娇昙。 院中可真熱鬧,春花似錦笤妙、人聲如沸冒掌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)股毫。三九已至,卻和暖如春召衔,著一層夾襖步出監(jiān)牢的瞬間铃诬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工苍凛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趣席,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓醇蝴,卻偏偏與公主長(zhǎng)得像宣肚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悠栓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容