歡迎光臨
每天分享高質量文章

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

(點擊上方公眾號,可快速關註一起學Python)

來自:機器之心    作者: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 有一個漂亮的黑色主題,這樣我們的眼睛就會舒服一些。如果你每天要工作很長時間,那固有的白色背景會讓你眼睛很難受。無論如何,一旦你換成了黑色,就永遠不會想換回來。

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

# Kill and exit the Notebook server
# Make sure you are in the base conda environment
conda activate base# install jupyterthemes
pip install jupyterthemes

# upgrade to latest version
pip install --upgrade jupyterthemes

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

# Enable Dark Mode
jt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T

Conda 環境自由切換

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

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

# Stop and exit your Jupyter Notebook server first
# Activate your environment in the terminal 
conda activate my_NLP
# Install the IPython Kernel 
pip install ipykernel
# Link your environment with Jupyter 
python -m ipykernel install --user --name=my_NLP# Repeat steps for the other environment, gym. 
conda activate gym
pip install ipykernel 
python -m ipykernel install --user --name=gym

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

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

其他炫酷功能

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

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

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

# Stop and exit your Jupyter Notebook server 
# Make sure you are in the base environment
conda activate base# Install the nbextensions 
pip install jupyter_contrib_nbextensions
# Install the necessary JS and CSS files 
jupyter contrib nbextension install --system

啟動 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 擴展

原文鏈接:

https://towardsdatascience.com/supercharging-jupyter-notebooks-e22f5ad7ca18

已同步到看一看
赞(0)

分享創造快樂