upyterlab是jupyter notebook的下一代產品,集成了更多功能。目前開發到0.32.1版本,已經可以使用而且非常強大,據官網說法,當1.0.0版本出來之時,就會取代jupyter notebook。
本文主要介紹jupyterlab相比于jupyter notebook更加高效的功能及配置。
jupyterlab安裝
如果有conda的話,可以在命令行使用下面這條命令安裝
conda install -c conda-forge jupyterlab
如果有pip的話可以這樣安裝
pip install jupyterlab
更多安裝方法請見官網
安裝后只需要在命令行中輸入
jupyter lab
即自動用瀏覽器打開。
jupyterlab基本功能
jupyterlab的基本界面是這樣的(圖片來自官網)
它的編輯界面和jupyter notebook幾乎沒有區別,jupyter notebook支持的功能、快捷鍵在這里也都支持。jupyterlab的優勢在于它增加了許多組件和更便捷的操作。
下面我們來看一些jupyterlab獨有的功能
1.同一個文檔打開至多個窗口
很多時候,寫代碼時要參考之前的代碼或者結果,而jupyter notebook中間cell的代碼和輸出結果經常讓我們只能拖動滾動條回去看,非常麻煩。而jupyterlab則提供了一個文檔在多個窗口顯示的功能,僅這一個功能就足以誘惑我從jupyter notebook上轉到這里來。
如上圖,只需要右鍵上面標簽,選擇New View for Notebook
,即可新建一個相同的標簽。然后使用鼠標拖動標簽,如下圖所示
即可達到下面的效果
這時只對一個文檔進行修改另一個會馬上同步,而且兩個文檔的內容顯示可以停留在任意位置互不干擾。當只需要一個文檔時,不需要保存,直接關掉另外一個即可。
如果覺得截圖不夠清晰,可以看官網上的視頻Create multiple synchronized views of a single notebook
部分
2.手動拖拽cell
不僅可以在同一個文件中拖拽到指定位置,而且可以拖拽到其他文件之中,也支持一次拖拽多個cells。
3.輸出結果單獨窗口顯示
選中cell右鍵-create new view for output,即可將結果顯示在新的窗口中,如下圖所示
如果后面寫的代碼要基于之前輸出的某個結果或者某張圖,這個功能是非常有用的,這個和第一個功能類似,但是只針對一個個輸出結果。
4.清除輸出結果
選中cell右鍵-clear output
有時程序輸出了非常多的信息,這些信息沒有用時需要把它刪掉。在jupyter notebook中只能刪掉整個cell,或者清空代碼使用空白cell運行再把代碼貼回來。而用jupyterlab則可以一鍵清空。
5.臨時交互試驗
在頁面上右鍵-new console for notebook,可以打開一個ipython窗口,在這里編寫程序按Shift + Enter
運行。
這個窗口可以直接調用這個文件中之前定義過的所有變量。在這個窗口中編寫的代碼是臨時的、試驗性質的,不會被加入到文檔中,當測試結束,把這個界面關閉就好。它的作用在于,防止在正式文檔中測試一些東西,產生一堆無用代碼還要費力刪除。即在不更改源文檔的情況下試驗一些代碼。
更多功能
更多功能可以參考官方網站上的視頻
jupyterlab使用技巧
這一部分旨在消除一些jupyterlab使用過程中不方便的地方
1.取消側邊欄
當打開多個窗口時,我們不希望顯示如圖藍色區域。這時,藍色區域對應的是最左側的files選項卡(紅色框位置),我們只需要再點擊一下files(當前選中的)選項卡,就可以不顯示左側區域了。
2.去除input-output
當窗口打開非常多的時候,圖中的紅框部分就會顯得很占空間,最好能把它去掉。只需要找到(windows下使用軟件everything即可)anaconda3\share\jupyter\lab\themes\[@jupyterlab](https://link.zhihu.com/?target=https%3A//github.com/jupyterlab)\theme-light-extension
目錄下的index.css
文件,在最后面加上
.jp-InputArea-prompt {
flex: none;
width: 10px;
text-indent: 100%;
}
刷新jupyterlab即可看到input-output都不見了
3.主題設置
目前jupyterlab只提供白色和黑色兩種主題,通過setting-jupyterlab theme 查看更改
用jupyter notebook的人可能知道jupyter-theme項目提供了非常多優秀的主題,可惜這在jupyterlab上無法使用,jupyterlab的團隊也正在開發更多主題,我們拭目以待!
如果實在想修改一些設置,也可以在之前提到的index.css
文件中直接修改,此時可以看官網開發者幫助文檔部分。
4.為文件添加目錄
只需要在命令行輸入如下命令
jupyter labextension install jupyterlab-toc
再打開jupyterlab,可以發現有了contents選項,即每個文檔都可以在這里找到目錄