Jupyterlab:超強的下一代Jupyter Notebook

Jupyterlab:超強的下一代Jupyter Notebook

文 | Parul Pandey 譯 | EarlGrey

數據顯示,Github上有超過300萬個 Jupyter Notebook 可供公開使用。私有的 Notebook 數量也大致相同。即使沒有這些數據佐證,我們也非常清楚Jupyter Notebook在數據科學領域的普及程度。

編寫代碼,檢查結果,獲得豐富輸出的可能性,是真正使 Jupyter Notebook 受歡迎的一些功能。但據說所有好事(必須)都會結束,我們最喜歡的Notebook也是如此。* _ JupyterLab 最終會取代經典的 Jupyter Notebook_ *

但這畢竟是件好事。

Jupyterlab

Jupyterlab:超强的下一代Jupyter Notebook

JupyterLab是 Project Jupyter的下一代用戶界面,提供所有熟悉的經典Jupyter筆記本構建模塊(Notebook,終端,文本編輯器,文件瀏覽器,豐富的輸出等),還有靈活而強大的用戶界面。Jupyterlab 的基本理念是將經典 notebook 中的所有功能以及新特性整合在一起。

如果您對Jupyter Lab完全不熟悉,可以直接從頭開始閱讀本文。但是,如果您已經開始使用Jupyterlab 並且希望瞭解進階功能,請跳過前四部分並直接跳到 第5部分。當然,請確保您使用的是最新版本。

1、安裝

JupyterLab 可以使用 <code>conda/<code>,<code>pip/<code>或<code>pipenv/<code>來安裝。

  1. <code>conda install -c conda-forge jupyterlab/<code>

  2. <code>pip install jupyterlab/<code>

  3. <code>pipenv install jupyterlab/<code>

  4. <code>pipenv shell/<code>

啟動 JupyterLab

只需在控制檯上鍵入以下內容,即可啟動Jupyterlab:

<code>jupyter lab/<code>

JupyterLab將在瀏覽器中自動打開,界面類似於下圖。這意味著一切都正常。

Jupyterlab:超强的下一代Jupyter Notebook

由於我在Jupyter Lab中安裝了 <code>Python/<code>和<code>R/<code>,我的工作表上有這兩門語言的圖標。

2、交互界面

在使用各種功能之前,讓我們先了解一下交互界面。

Jupyterlab:超强的下一代Jupyter Notebook
  • 菜單欄

菜單欄具有頂級菜單,可顯示Jupyter Lab中可用的各種操作。

  • 左側邊欄

這包括常用的選項卡。通過在“視圖”菜單中選擇“顯示左側邊欄”或單擊活動側邊欄選項卡,可以摺疊或展開左側邊欄。

您可以從 <code>Running/<code>面板查看正在運行的會話,而<code>Commands/<code>面板可以搜索所有可用的命令。

Jupyterlab:超强的下一代Jupyter Notebook
  • 主要工作區

這是實際工作發生的區域。它包括Notebook,文檔,控制檯,終端等。只需雙擊或拖動文件到該區域即可開始工作。

Jupyterlab:超强的下一代Jupyter Notebook

此外,您可以通過將Jupyter Lab的URL中的 <code>lab/<code>更改為<code>tree/<code>來切換經典的Notebook視圖JupyterLab視圖

Jupyterlab:超强的下一代Jupyter Notebook

3、創建和保存文件

在本節中,我們將快速瞭解如何使用Jupyter Lab中的文件。

創建文件

只需單擊主菜單中的“+”圖標即可。這將在主工作區中打開一個新的Launcher選項卡,使我們能夠創建Notebook,控制檯,終端或文本編輯器。

使用 <code>File/<code>選項卡也可以實現相同的操作。打開後,可以重命名甚至下載文件。

Jupyterlab:超强的下一代Jupyter Notebook

打開現有文件

打開文件是一個非常簡單的過程。雙擊它們或通過上面的 <code>File/<code>選項卡訪問它們。

Jupyterlab:超强的下一代Jupyter Notebook

這些只是Jupyterlab的基礎知識。現在讓我們繼續討論它的實際功能以及它優於傳統Notebook的部分。

4、靈活的佈局

經典的Jupyter筆記本還支持內置的文本編輯器和終端,但這些選項使用不多,因為它們大多是隱藏在視線之外的。另一個原因是所有這些組件都作為獨立功能運行,而不是集成的。

Jupyterlab:超强的下一代Jupyter Notebook

Jupyter Lab傾向於通過將所有功能集成到單個交互式協作環境中。

  • Notebook

JupyterLab中使用的 Notebook文檔格式與經典的Jupyter筆記本中的相同。現有的筆記本應該在JupyterLab中正確打開,我們可以在那裡進行常規分析。

Jupyterlab:超强的下一代Jupyter Notebook

文本編輯器可以編輯文件。文本編輯器包括語法突出顯示,可配置縮進(製表符或空格), 鍵映射和基本主題。可以在“設置”菜單中找到這些設置。

Jupyterlab:超强的下一代Jupyter Notebook
  • 終端

JupyterLab的終端,支持 Mac / Linux 和Windows等各種系統提供的shell。我們可以使用終端在系統shell中運行任何東西,包括vim或emacs等程序。

Jupyterlab:超强的下一代Jupyter Notebook

讀到這裡,可能會有人說:所有這些功能在經典Notebook中都有,Jupyter Lab到底有什麼與眾不同?

事實上,Jupyterlab 為我們提供了一個非常靈活的佈局系統,允許打開多個選項卡,並排拖動並以幾乎無限的靈活性調整它們,這是之前所沒有的。

Jupyterlab:超强的下一代Jupyter Notebook

5、增強的Notebook功能

Jupyterlab 不是Notebook格式的重新實現,而是一個基於所有現有架構之上的新前端。這種新的前端,使得我們可以實現在經典Notebook中無法實現的功能。主要包括:

展開和摺疊單元格

Jupyterlab:超强的下一代Jupyter Notebook

在Notebook中拖放單元格

Jupyterlab:超强的下一代Jupyter Notebook

文本編輯器現在具有代碼自動完成功能。但是,目前只有在同時打開文本編輯器和控制檯時,才能夠使用。

Jupyterlab:超强的下一代Jupyter Notebook

主題

可以對JupyterLab,或者單獨對文本編輯器設置主題。

Jupyterlab:超强的下一代Jupyter Notebook

6、支持的文件格式

Jupyter Lab還支持其他格式的文件,例如:

  • geojson

  • Vegalite文件,geojson文件,

  • PDF文件

  • 高性能CSV查看器

Jupyter Lab基本上可以渲染任意大的CSV,這些CSV通常在Excel中無法打開。雖然現在尚未具有很強的互動性,但很快就會有一些改進。

7、交互式計算

Jupyter的真正強大之處,在於它支持交互式計算,尤其對於數據科學非常有用。

為輸出創建新視圖

我將使用官方Jupyter Github頁面中的 Lorenz微分方程Notebook。運行幾個單元格後,我們將交互式Lorenz atrractor 作為輸出。但是當我們有一個交互式輸出時,必須向上和向下滾動才能查看相關代碼。Jupyter Lab為我們提供了一個方案,可以將輸出放到新選項卡中。還提供了一種

偽儀表板,支持使用滑塊並更改參數。

Jupyterlab:超强的下一代Jupyter Notebook

同一文件的新視圖

有時我們的筆記本太長了,所以我們可以在一個實例中有兩個相同(或不同)筆記本的視圖。當我們想要同時查看筆記本的頂部和底部時,這可能很有用。

Jupyterlab:超强的下一代Jupyter Notebook

我們知道可以在Notebook中拖動單元格。但是在Jupyterlab 中,還可以在不同的Notebook之間拖動單元格。此外,一個Notebook中的更改也會同步到另一個Notebook中。

Jupyterlab:超强的下一代Jupyter Notebook

簡化代碼文檔流程

代碼的閱讀頻率高於編寫代碼。文檔是編程的一個非常重要的方面,Jupyter Lab使編寫文檔更容易。在markdown文件中編寫文檔時,有一個問題是必須在不同的控制檯中運行代碼,以檢查它是否正常運行,然後將其包含在文件中。一次又一次地切換選項卡很煩人。

Jupyter Labs允許您將編輯器和控制檯組合到一個視圖中。因此,您可以一邊檢查代碼和文檔,同時預覽整個文件。

8、擴展

JupyterLab是一個可擴展的環境。這些擴展是非常強大的工具,可以提高工作效率。JupyterLab擴展,其實是 npm包(Javascript開發中的標準包格式)。在GitHub上有許多社區開發的擴展。您可以搜索GitHub主題 jupyterlab-extension來查找擴展名。

要安裝JupyterLab擴展,您需要安裝 Node.js,可以從他們的 網站或像下面這樣安裝。

  1. <code>conda install -c conda-forge nodejs/<code>

  2. <code>brew install node/<code>

安裝擴展

可以使用以下命令安裝新擴展:

  1. <code>jupyter labextension install <my-extension>/<code>

其中 <code>my-extension/<code>是 npm)上JupyterLab擴展npm包的名稱。使用<code>my-extension@version/<code>語法安裝特定版本的擴展,例如:

  1. <code>jupyter labextension install my-extension**@1**.2.3/<code>

我們接下來,談談一些經常使用並且非常強大的擴展:

Google Drive Extension

此擴展程序會在JupyterLab的左側面板中添加Google Drive文件瀏覽器。當您登錄自己的Google帳戶時,您可以將存儲在其中的文件提供給JupyterLab。

安裝

  1. <code>jupyter labextension install @jupyterlab/google-drive/<code>

除了安裝擴展程序之外,您還必須使用Google對JupyterLab部署進行身份驗證。驗證方式,具體請參考:

  1. https://github.com/jupyterlab/jupyterlab-google-drive/blob/master/docs/setup.md


  2. https://developers.google.com/identity/sign-in/web/sign-in


Jupyterlab:超强的下一代Jupyter Notebook

用法

Jupyterlab:超强的下一代Jupyter Notebook

如果有人共享了notebook文件或者markdown文件,它將出現在Jupyterlab的“與我共享”文件夾中。我們可以在那裡打開和編輯它。

Github Extension

它是用於訪問GitHub代碼庫的JupyterLab擴展。此擴展允許我們選擇GitHub組織和用戶,瀏覽其代碼庫,並打開其中的文件。如果這些文件是筆記本,我們可以像運行任何其他筆記本一樣運行它們。

安裝

  1. <code>jupyter labextension install @jupyterlab/github/<code>

安裝後,我們需要從GitHub獲取憑據。

用法

Jupyterlab:超强的下一代Jupyter Notebook
  • Git Extension

jupyterlab-git是使用git進行版本控制的JupyterLab擴展。

安裝

要安裝,請執行以下步驟:

  1. <code>jupyter labextension install @jupyterlab/git/<code>

  2. <code>pip install jupyterlab-git/<code>

  3. <code>jupyter serverextension enable --py jupyterlab_git/<code>

用法

Jupyterlab:超强的下一代Jupyter Notebook
  • Drawio插件

Drawio插件是一個JupyterLab擴展,用於將drawio獨立集成到Jupyterlab中。它是一個免費的在線圖表軟件,可用於製作流程圖,流程圖,組織結構圖,UML,ER和網絡圖。

安裝

  1. <code>jupyter labextension install jupyterlab-drawio/<code>

用法

Jupyterlab:超强的下一代Jupyter Notebook

這些擴展確實使JupyterLab脫穎而出。將所有工具放在單個工作場所使其非常有用,因為不必在不同的環境之間切換以完成工作。除了上述擴展之外,還有許多其他版本,也可以隨意嘗試。

結論

JupyterLab是真正的下一代基於Web的用戶界面。它提供了交互式計算工具和精心設計的界面,允許用戶以新穎的方式組合它們。

它非常強大,並提供了各種強大的工具,使數據分析過程更加順暢,絕對更高效。

原文:https://towardsdatascience.com/jupyter-lab-evolution-of-the-jupyter-notebook-5297cacde6b

文末送書活動

活動規則大家請一定要查看,點擊這篇推文哦:從今天起,每天至少送大家一本書

這篇推文的福利贈書,改為:《Python 數據科學入門》,送給本篇文章點贊最多、且符合活動要求的精選留言者。

最新贈書名單將在留言區公佈,請獲獎者

加我好友(微信號:codingpython)領取獎勵哈~

回覆下方「關鍵詞」,獲取優質資源

回覆關鍵詞「 pybook03」,立即獲取主頁君與小夥伴一起翻譯的《Think Python 2e》電子版

回覆關鍵詞「入門資料」,立即獲取主頁君整理的 10 本 Python 入門書的電子版

回覆關鍵詞「book 數字」,將數字替換成 0 及以上數字,有驚喜好禮哦~

"


分享到:


相關文章: