文 | Parul Pandey 譯 | EarlGrey
數據顯示,Github上有超過300萬個 Jupyter Notebook 可供公開使用。私有的 Notebook 數量也大致相同。即使沒有這些數據佐證,我們也非常清楚Jupyter Notebook在數據科學領域的普及程度。
編寫代碼,檢查結果,獲得豐富輸出的可能性,是真正使 Jupyter Notebook 受歡迎的一些功能。但據說所有好事(必須)都會結束,我們最喜歡的Notebook也是如此。* _ JupyterLab 最終會取代經典的 Jupyter Notebook_ *
但這畢竟是件好事。
Jupyterlab
JupyterLab是 Project Jupyter的下一代用戶界面,提供所有熟悉的經典Jupyter筆記本構建模塊(Notebook,終端,文本編輯器,文件瀏覽器,豐富的輸出等),還有靈活而強大的用戶界面。Jupyterlab 的基本理念是將經典 notebook 中的所有功能以及新特性整合在一起。
如果您對Jupyter Lab完全不熟悉,可以直接從頭開始閱讀本文。但是,如果您已經開始使用Jupyterlab 並且希望瞭解進階功能,請跳過前四部分並直接跳到 第5部分。當然,請確保您使用的是最新版本。
1、安裝
JupyterLab 可以使用 <code>conda/<code>,<code>pip/<code>或<code>pipenv/<code>來安裝。
<code>conda install -c conda-forge jupyterlab/<code>
<code>pip install jupyterlab/<code>
<code>pipenv install jupyterlab/<code>
<code>pipenv shell/<code>
啟動 JupyterLab
只需在控制檯上鍵入以下內容,即可啟動Jupyterlab:
<code>jupyter lab/<code>
JupyterLab將在瀏覽器中自動打開,界面類似於下圖。這意味著一切都正常。
由於我在Jupyter Lab中安裝了 <code>Python/<code>和<code>R/<code>,我的工作表上有這兩門語言的圖標。
2、交互界面
在使用各種功能之前,讓我們先了解一下交互界面。
菜單欄
菜單欄具有頂級菜單,可顯示Jupyter Lab中可用的各種操作。
左側邊欄
這包括常用的選項卡。通過在“視圖”菜單中選擇“顯示左側邊欄”或單擊活動側邊欄選項卡,可以摺疊或展開左側邊欄。
您可以從 <code>Running/<code>面板查看正在運行的會話,而<code>Commands/<code>面板可以搜索所有可用的命令。
主要工作區
這是實際工作發生的區域。它包括Notebook,文檔,控制檯,終端等。只需雙擊或拖動文件到該區域即可開始工作。
此外,您可以通過將Jupyter Lab的URL中的 <code>lab/<code>更改為<code>tree/<code>來切換經典的Notebook視圖和JupyterLab視圖。
3、創建和保存文件
在本節中,我們將快速瞭解如何使用Jupyter Lab中的文件。
創建文件
只需單擊主菜單中的“+”圖標即可。這將在主工作區中打開一個新的Launcher選項卡,使我們能夠創建Notebook,控制檯,終端或文本編輯器。
使用 <code>File/<code>選項卡也可以實現相同的操作。打開後,可以重命名甚至下載文件。
打開現有文件
打開文件是一個非常簡單的過程。雙擊它們或通過上面的 <code>File/<code>選項卡訪問它們。
這些只是Jupyterlab的基礎知識。現在讓我們繼續討論它的實際功能以及它優於傳統Notebook的部分。
4、靈活的佈局
經典的Jupyter筆記本還支持內置的文本編輯器和終端,但這些選項使用不多,因為它們大多是隱藏在視線之外的。另一個原因是所有這些組件都作為獨立功能運行,而不是集成的。
Jupyter Lab傾向於通過將所有功能集成到單個交互式協作環境中。
Notebook
JupyterLab中使用的 Notebook文檔格式與經典的Jupyter筆記本中的相同。現有的筆記本應該在JupyterLab中正確打開,我們可以在那裡進行常規分析。
文本編輯器可以編輯文件。文本編輯器包括語法突出顯示,可配置縮進(製表符或空格), 鍵映射和基本主題。可以在“設置”菜單中找到這些設置。
終端
JupyterLab的終端,支持 Mac / Linux 和Windows等各種系統提供的shell。我們可以使用終端在系統shell中運行任何東西,包括vim或emacs等程序。
讀到這裡,可能會有人說:所有這些功能在經典Notebook中都有,Jupyter Lab到底有什麼與眾不同?
事實上,Jupyterlab 為我們提供了一個非常靈活的佈局系統,允許打開多個選項卡,並排拖動並以幾乎無限的靈活性調整它們,這是之前所沒有的。
5、增強的Notebook功能
Jupyterlab 不是Notebook格式的重新實現,而是一個基於所有現有架構之上的新前端。這種新的前端,使得我們可以實現在經典Notebook中無法實現的功能。主要包括:
展開和摺疊單元格
在Notebook中拖放單元格
文本編輯器現在具有代碼自動完成功能。但是,目前只有在同時打開文本編輯器和控制檯時,才能夠使用。
主題
可以對JupyterLab,或者單獨對文本編輯器設置主題。
6、支持的文件格式
Jupyter Lab還支持其他格式的文件,例如:
geojson
Vegalite文件,geojson文件,
PDF文件
高性能CSV查看器
Jupyter Lab基本上可以渲染任意大的CSV,這些CSV通常在Excel中無法打開。雖然現在尚未具有很強的互動性,但很快就會有一些改進。
7、交互式計算
Jupyter的真正強大之處,在於它支持交互式計算,尤其對於數據科學非常有用。
為輸出創建新視圖
我將使用官方Jupyter Github頁面中的 Lorenz微分方程Notebook。運行幾個單元格後,我們將交互式Lorenz atrractor 作為輸出。但是當我們有一個交互式輸出時,必須向上和向下滾動才能查看相關代碼。Jupyter Lab為我們提供了一個方案,可以將輸出放到新選項卡中。還提供了一種
偽儀表板,支持使用滑塊並更改參數。同一文件的新視圖
有時我們的筆記本太長了,所以我們可以在一個實例中有兩個相同(或不同)筆記本的視圖。當我們想要同時查看筆記本的頂部和底部時,這可能很有用。
我們知道可以在Notebook中拖動單元格。但是在Jupyterlab 中,還可以在不同的Notebook之間拖動單元格。此外,一個Notebook中的更改也會同步到另一個Notebook中。
簡化代碼文檔流程
代碼的閱讀頻率高於編寫代碼。文檔是編程的一個非常重要的方面,Jupyter Lab使編寫文檔更容易。在markdown文件中編寫文檔時,有一個問題是必須在不同的控制檯中運行代碼,以檢查它是否正常運行,然後將其包含在文件中。一次又一次地切換選項卡很煩人。
Jupyter Labs允許您將編輯器和控制檯組合到一個視圖中。因此,您可以一邊檢查代碼和文檔,同時預覽整個文件。
8、擴展
JupyterLab是一個可擴展的環境。這些擴展是非常強大的工具,可以提高工作效率。JupyterLab擴展,其實是 npm包(Javascript開發中的標準包格式)。在GitHub上有許多社區開發的擴展。您可以搜索GitHub主題 jupyterlab-extension來查找擴展名。
要安裝JupyterLab擴展,您需要安裝 Node.js,可以從他們的 網站或像下面這樣安裝。
<code>conda install -c conda-forge nodejs/<code>
<code>brew install node/<code>
安裝擴展
可以使用以下命令安裝新擴展:
<code>jupyter labextension install <my-extension>/<code>
其中 <code>my-extension/<code>是 npm)上JupyterLab擴展npm包的名稱。使用<code>my-extension@version/<code>語法安裝特定版本的擴展,例如:
<code>jupyter labextension install my-extension**@1**.2.3/<code>
我們接下來,談談一些經常使用並且非常強大的擴展:
Google Drive Extension
此擴展程序會在JupyterLab的左側面板中添加Google Drive文件瀏覽器。當您登錄自己的Google帳戶時,您可以將存儲在其中的文件提供給JupyterLab。
安裝
<code>jupyter labextension install @jupyterlab/google-drive/<code>
除了安裝擴展程序之外,您還必須使用Google對JupyterLab部署進行身份驗證。驗證方式,具體請參考:
-
https://github.com/jupyterlab/jupyterlab-google-drive/blob/master/docs/setup.md
https://developers.google.com/identity/sign-in/web/sign-in
用法
如果有人共享了notebook文件或者markdown文件,它將出現在Jupyterlab的“與我共享”文件夾中。我們可以在那裡打開和編輯它。
Github Extension
它是用於訪問GitHub代碼庫的JupyterLab擴展。此擴展允許我們選擇GitHub組織和用戶,瀏覽其代碼庫,並打開其中的文件。如果這些文件是筆記本,我們可以像運行任何其他筆記本一樣運行它們。
安裝
<code>jupyter labextension install @jupyterlab/github/<code>
安裝後,我們需要從GitHub獲取憑據。
用法
Git Extension
jupyterlab-git是使用git進行版本控制的JupyterLab擴展。
安裝
要安裝,請執行以下步驟:
<code>jupyter labextension install @jupyterlab/git/<code>
<code>pip install jupyterlab-git/<code>
<code>jupyter serverextension enable --py jupyterlab_git/<code>
用法
Drawio插件
Drawio插件是一個JupyterLab擴展,用於將drawio獨立集成到Jupyterlab中。它是一個免費的在線圖表軟件,可用於製作流程圖,流程圖,組織結構圖,UML,ER和網絡圖。
安裝
<code>jupyter labextension install jupyterlab-drawio/<code>
用法
這些擴展確實使JupyterLab脫穎而出。將所有工具放在單個工作場所使其非常有用,因為不必在不同的環境之間切換以完成工作。除了上述擴展之外,還有許多其他版本,也可以隨意嘗試。
結論
JupyterLab是真正的下一代基於Web的用戶界面。它提供了交互式計算工具和精心設計的界面,允許用戶以新穎的方式組合它們。
它非常強大,並提供了各種強大的工具,使數據分析過程更加順暢,絕對更高效。
原文:https://towardsdatascience.com/jupyter-lab-evolution-of-the-jupyter-notebook-5297cacde6b
文末送書活動
活動規則大家請一定要查看,點擊這篇推文哦:從今天起,每天至少送大家一本書
這篇推文的福利贈書,改為:《Python 數據科學入門》,送給本篇文章點贊最多、且符合活動要求的精選留言者。
最新贈書名單將在留言區公佈,請獲獎者 加我好友(微信號:codingpython)領取獎勵哈~
回覆下方「關鍵詞」,獲取優質資源
回覆關鍵詞「 pybook03」,立即獲取主頁君與小夥伴一起翻譯的《Think Python 2e》電子版
回覆關鍵詞「入門資料」,立即獲取主頁君整理的 10 本 Python 入門書的電子版
回覆關鍵詞「book 數字」,將數字替換成 0 及以上數字,有驚喜好禮哦~
"閱讀更多 編程派 的文章