當前位置:
首頁 > 知識 > Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出了新花樣

Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出了新花樣

選自Towardsdatascience

作者:Pranjal Chaubey

機器之心編譯

參與:Nurchachu Null、張倩

深藍主題、Conda 環境自由切換、一鍵生成目錄、一鍵隱藏代碼單元……有沒有想過 Jupyter Notebook 還可以這麼玩?

對全世界的 Python 高手而言,Jupyter Notebook 是目前最流行的編程環境,尤其是對那些從事機器學習和數據科學的人而言。數月前我第一次開始認真研究機器學習時發現了 Jupyter Notebook。剛開始,我因這一切可以在我的瀏覽器中運行而感到驚訝和開心。但是,不久後我就失望了,老套的 Jupyter Notebook 的界面非常基礎,缺乏很多有用的功能。那時候我就決定去尋找一些 Jupyter Notebook 的黑客技術。

在這篇文章中,我展示了一些 Jupyter Notebook 的附件/擴展,以及一些能夠增強 Jupyter Notebook 和提高生產力的命令。簡言之,就是要增強你的 Jupyter Notebook。

如果你按照下面的指示去做,你的 Jupyter Notebook 會擁有下面這些令人驚嘆的功能(如果你願意,還能獲得更多):

能夠動態切換多個 Conda 環境,而無需重啟 Jupyter Notebook。

一鍵點擊生成目錄(你會喜歡這個功能)。

一個很有用的彈出式便簽(這是我最喜歡的功能),無需改變原始筆記本中任何地方就可以把玩、測試你的代碼。

代碼單元內的代碼摺疊。很疑惑為啥這個不是 Jupyter Notebook 的固有功能。

一鍵代碼單元隱藏,這是一個重要的功能,當你需要通過可視化的方式展示數據時,人們並不會關心你的代碼,而是你的圖表。

一個超級酷的變數檢查器。

用於 Markdown 單元的拼寫檢查器。

用於深夜編碼會話的禪意黑模式(ZenMode)。

能夠動態增加常用 python 結構(例如 List comprehension)的 Code Snippets 菜單。

最後這個絕對是最好的功能——舒緩漂亮的深夜藍配色方案,拯救你的眼睛!

是時候增強我們的 jupyter notebook 了!

炫酷的深藍午夜主題

首先,要保證我們的 notebook 有一個漂亮的黑色主題,這樣我們的眼睛就會舒服一些。如果你每天要工作很長時間,那固有的白色背景會讓你眼睛很難受。無論如何,一旦你換成了黑色,就永遠不會想換回來。

使用下面的命令安裝黑色的主題,

主題包安裝和更新好之後,運行下面的命令,將原來白色主題的 Jupyter Notebook 換成一款深藍午夜主題。你的眼睛會喜歡這款主題的。

Conda 環境自由切換

接下來,看一下我們是否已經把 Anaconda 中創建的所有定製環境作為核心添加在了 Jupyter Notebook 中。這樣我們就能簡單地利用 Kernel 按鈕切換環境。換核的時候不需要重啟 notebook。

假設你的 Anaconda 環中有兩個自定義的環境 my_NLP 和 gym。按照下面的步驟將這些添加到你的 Jupyter Notebook 中。

現在打開你的 Jupyter Notebook,找到 kernel 按鈕下的 Change Kernel 選項,接下來就是見證奇蹟的時刻:所有的核都被列舉出來了,你可以通過簡單地點擊來激活一個服務核。

這便是最新添加的 Kernel 的展現形式。請注意這款舒緩的午夜藍主題。

其他炫酷功能

關於我在上面提及的其他炫酷功能,需要安裝一些叫做 nbextensions for Jupyter Notebooks 的東西。

安裝地址:https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html

安裝 nbextensions 是很容易的,簡單地遵循下面的步驟就行:

啟動 Jupyter notebook 服務,你可以在起始頁看到第四個叫做 Nbextensions 的選項。點擊這個選項,然後就可以看到極妙的功能集,這些都是你一直希望在 Jupyter Notebooks 中擁有的。

Nbextensions 標籤!

正如你在上面看到的,這個擴展列表十分龐大,甚至第一眼看上去有些嚇人。但並不是所有的都有用,下面是我用到的一些功能:

Table of Contents(2):單擊生成整個筆記本的目錄,不同的 section 都有對應的超鏈接。

Scratchpad:在我看來絕對是最好的擴展了。這是一個你可以在裡面做代碼實驗的獨立空間,不會干擾筆記本中的其他部分。

Codefolding :代碼摺疊,這個不需要做過多的解釋。

Hide Input All:隱藏所有的代碼單元,同時保持所有的輸出和 markdown 單元可見。如果你要向非技術人員解釋你的結果,那麼這就會是一個很有用的功能。

Variable Inspector:將你從調試的憂傷中拯救出來,這與 Spyder IDE 中的變數檢查窗口有些類似。

Spellchecker:對 markdown 單元中的內容進行拼寫檢查。

Zenmode:移除掉屏幕中雜亂無關的內容,以便你能夠聚焦於重要的東西上,例如代碼。

Snippets Menu:從 list comprehension 到 pandas 以及它們之間的所有常用代碼片段的一個很酷的集合。這是最好的部分?你可以修改窗口的小部件來添加你自己的定製片段。

上述列表包含了我常用的擴展功能,但是我鼓勵你去嘗試一下其餘的擴展功能。一些有意思的功能包括 ScrollDown、table_beautifier 以及 Hinterland。

Snippet 擴展和 Table of Contents generation 擴展在工作中同時使用。

Scratchpad 擴展

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

CVPR 2019 提前看:工業界與學術界的深度融合專題
DeepMind遊戲AI登上Science:雷神之錘多智能體合作,超越人類玩家

TAG:機器之心 |