
- Jupyter 教程
- Jupyter - 首頁
- IPython
- IPython - 簡介
- IPython - 安裝
- IPython - 開始
- 執行和編輯 Python 指令碼
- IPython - 歷史命令
- IPython - 系統命令
- IPython - 命令列選項
- 動態物件自省
- IPython - I/O 快取
- 將 IPython 設定為預設 Python 環境
- 匯入 Python Shell 程式碼
- IPython - 嵌入 IPython
- IPython - 魔術命令
- Jupyter
- Jupyter 專案 - 概述
- Jupyter Notebook - 簡介
- 線上使用 Jupyter
- 安裝和開始
- Jupyter Notebook - 儀表板
- Jupyter Notebook - 使用者介面
- Jupyter Notebook - 單元格型別
- Jupyter Notebook - 編輯
- Jupyter Notebook - Markdown 單元格
- 單元格魔術函式
- Jupyter Notebook - 繪圖
- 轉換 Notebook
- Jupyter Notebook - IPyWidgets
- QtConsole
- QtConsole - 開始
- QtConsole - 多行編輯
- QtConsole - 內聯圖形
- QtConsole - 儲存為 Html
- QtConsole - 多個控制檯
- 連線到 Jupyter Notebook
- 使用 github 和 nbviewer
- JupyterLab
- JupyterLab - 概述
- 安裝和開始
- JupyterLab - 介面
- JupyterLab - 安裝 R 核心
- Jupyter 資源
- Jupyter 快速指南
- Jupyter - 有用資源
- Jupyter - 討論
Jupyter 快速指南
IPython - 簡介
Jupyter 專案是一套用於互動式計算的軟體產品。IPython 最初由 Fernando Perez 於 2001 年開發,作為增強的 Python 直譯器。2011 年推出了基於 Web 的 IPython 終端介面,即 IPython notebook。2014 年,Jupyter 專案作為 IPython 的衍生專案啟動。
Jupyter 專案下的軟體包包括:
Jupyter notebook - 基於 Web 的 Python、Julia、R 和許多其他程式設計環境的介面
QtConsole - 基於 Qt 的 Jupyter 核心終端,類似於 IPython
nbviewer - 分享 Jupyter notebooks 的工具
JupyterLab - 所有產品的現代基於 Web 的整合介面。
Python 的標準發行版包含一個REPL(讀取-求值-列印迴圈)環境,它以帶有>>>提示符的 Python shell 的形式出現。IPython(代表互動式 Python)是 Python 的增強型互動式環境,與標準 Python shell 相比,它具有許多功能。
IPython 的功能
與標準 Python 相比,IPython 提供了更多功能,如下所示:
提供強大的互動式 Python shell。
作為 Jupyter notebook 和 Jupyter 專案的其他前端工具的主要核心。
具有物件自省能力。自省是在執行時檢查物件屬性的能力。
語法高亮。
儲存互動歷史記錄。
關鍵字、變數和函式名的 Tab 自動補全。
魔術命令系統,用於控制 Python 環境和執行作業系統任務。
能夠嵌入到其他 Python 程式中。
提供對 Python 偵錯程式的訪問。
歷史和發展
IPython 最初由 Fernando Perez 於 2001 年開發。其當前版本是 IPython 7.0.1,需要 Python 3.4 或更高版本。IPython 6.0 是第一個支援 Python 3 的版本。使用 Python 2.7 的使用者應該使用 IPython 2.0 到 5.7 版本。
計算筆記本的概念始於 80 年代,當時 MATLAB 和 Mathematica 釋出。這些互動式 shell 的 GUI 前端具有文字格式化、新增圖形、表格和新增數學符號等功能。Sage notebook 也是一個基於 Web 的筆記本。
IPython 的建立者從 2005 年開始致力於 IPython shell 的 notebook 介面。IPython notebook 很快增加了對其他語言(如 R 和 Julia)的支援。在 2014 年,Perez 啟動了 Jupyter 專案作為 IPython 的衍生專案,因為 IPython 專案隨著 notebook 伺服器和 Qt 控制檯等產品的增加而變得越來越龐大。
從 IPython 4.0 開始,所有附加元件都轉移到了 Jupyter 專案,併為 IPython notebook 添加了對其他語言的支援。IPython 繼續專注於改進其增強的直譯器功能。它還為 Jupyter notebook 前端提供主要的核心。
IPython - 安裝
Anaconda Python 發行版預設包含 IPython。它可以從 Anaconda 的下載頁面下載 www.anaconda.com/download/ 此連結上提供了所有主要作業系統(Windows、MacOS 和 Linux)和架構(32 位和 64 位)的二進位制檔案。
要在標準 Python 安裝中單獨安裝 IPython,可以使用以下 pip 命令:
pip3 install ipython
IPython 內部使用以下軟體包:
序號 | IPython 依賴項和功能 |
---|---|
1 | colorama 用於從 Python 列印彩色終端文字的跨平臺 API |
2 | jedi Python 的自動補全工具 |
3 | pickleshare 具有併發支援的小型“shelve”式資料儲存 |
4 | prompt_toolkit 用於在 Python 中構建強大的互動式命令列的庫 |
5 | pygments 用 Python 編寫的語法高亮顯示包 |
6 | simplegeneric 簡單的泛型函式 |
7 | traitlets Python 應用程式的配置系統。 |
通常,所有依賴項都會自動安裝。否則,可以使用 pip 單獨安裝它們。
IPython - 開始
本章將解釋如何開始使用 IPython。
從命令提示符啟動 IPython。
在深入瞭解 IPython 之前,請注意,您將看到兩個主要的 Python 提示符,而不是常規的>>>,如下所述:
In[1] 出現在任何輸入表示式之前。
Out[1] 出現在輸出出現之前。
此外,方括號中的數字會自動遞增。請觀察以下螢幕截圖以更好地理解:

現在,如果您已安裝 Anaconda Python 發行版,請從開始選單開啟 Anaconda 提示符。

從 conda 提示符啟動 IPython
與常規 Python 控制檯相比,我們可以注意到一些區別。IPython shell 使用不同的顏色方案為不同的元素(如表示式、函式、變數等)顯示語法高亮顯示。

另一個有用的增強功能是 Tab 自動補全。我們知道每個物件在其類中都定義了一個或多個可用方法。當您在物件之前的點後按 Tab 鍵時,IPython 會彈出相應的方法列表。
在下面的示例中,定義了一個字串。作為響應,將顯示字串類的各種方法。

IPython 透過在物件前面加上“?”來提供任何物件的資訊。它包括類的文件字串、函式定義和建構函式詳細資訊。例如,要探索上面定義的字串物件 var,請在輸入提示符中輸入var?。結果將顯示有關它的所有資訊。請觀察以下螢幕截圖以更好地理解:

魔術函式
IPython 的內建魔術函式非常強大。有兩種型別的魔術函式。
- 行魔術,其作用非常類似於 DOS 命令。
- 單元魔術,其作用於多行程式碼。
我們將在後續章節中詳細學習行魔術函式和單元魔術函式。
IPython - 執行和編輯 Python 指令碼
在本章中,讓我們瞭解如何執行和編輯 Python 指令碼。
執行命令
您可以在輸入提示符中使用run命令來執行 Python 指令碼。run 命令實際上是行魔術命令,應該寫成%run。但是,%automagic模式預設始終啟用,因此您可以省略它。
In [1]: run hello.py Hello IPython
編輯命令
IPython 還提供編輯魔術命令。它呼叫作業系統的預設編輯器。您可以透過 Windows 記事本編輯器開啟它,並可以編輯指令碼。儲存輸入後關閉它後,將顯示修改後的指令碼的輸出。
In [2]: edit hello.py Editing... done. Executing edited code... Hello IPython welcome to interactive computing
請注意,hello.py 最初只包含一個語句,編輯後又添加了一個語句。如果未向編輯命令提供檔名,則會建立一個臨時檔案。請觀察以下顯示相同的程式碼:
In [7]: edit IPython will make a temporary file named: C:\Users\acer\AppData\Local\Temp\ipython_edit_4aa4vx8f\ipython_edit_t7i6s_er.py Editing... done. Executing edited code... magic of IPython Out[7]: 'print ("magic of IPython")'
IPython - 歷史命令
IPython 保留當前會話的命令及其結果。我們可以透過按向上和向下鍵來滾動瀏覽以前的命令。
此外,最後三個輸出物件儲存在特殊變數 _、__ 和 ___ 中。history魔術命令顯示當前會話中的先前命令,如下面的螢幕截圖所示:

IPython - 系統命令
如果輸入單元格中的語句以感嘆號 (!) 開頭,則將其視為底層作業系統的系統命令。例如,!ls(對於 Linux)和!dir(對於 Windows)顯示當前目錄的內容

系統命令的輸出也可以分配給 Python 變數,如下所示:

變數儲存沒有顏色的輸出,並在換行符處分割。
也可以將 Python 變數或表示式與系統命令呼叫組合使用。花括號 {} 中的變數可以嵌入到命令文字中。請觀察以下示例:

這是另一個示例,用於理解在 Python 變數前加上 $ 也能達到相同的結果。

IPython - 命令列選項
在本章中,讓我們瞭解如何在 IPython 中使用各種命令列選項。
呼叫 IPython 程式
您可以使用以下選項呼叫 IPython 程式:
C:\python36> ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg]
檔案選項是一個帶有 .py 副檔名的 Python 指令碼。如果沒有其他選項,則執行指令碼並重新出現命令提示符。
C:\python36>ipython hello.py Hello IPython welcome to interactive computing
子命令和引數
IPython 命令接受以下子命令選項:
Profile - 建立和管理 IPython 配置檔案。
核心 (Kernel) − 啟動一個沒有附加前端的核心。
定位 (Locate) − 列印 IPython 目錄的路徑。
歷史記錄 (History) − 管理 IPython 歷史資料庫。
IPython 配置檔案子命令接受以下引數:
ipython profile create myprofile − 建立一個新的配置檔案。
ipython profile list − 列出所有可用的配置檔案。
ipython locate profile myprofile − 定位所需的配置檔案。
要安裝新的 IPython 核心,請使用以下命令:
Ipython kernel –install –name
要列印 IPython 目錄的路徑,請使用以下命令:
C:\python36>ipython locate myprofile C:\Users\acer\.ipython
此外,我們知道:
history 子命令管理 IPython 歷史資料庫。
trim 選項將 IPython 歷史資料庫減少到最後 1000 條條目。
clear 選項刪除所有條目。
IPython 的一些其他重要命令列選項列在下面:
序號 | IPython 命令 & 說明 |
---|---|
1 | --automagic 啟用自動呼叫魔法命令。 |
2 | --pdb 在每次異常後啟用自動呼叫 pdb 偵錯程式。 |
3 | --pylab 預載入 matplotlib 和 numpy 用於與預設 matplotlib 後端進行互動式使用。 |
4 | --matplotlib 配置 matplotlib 用於與預設 matplotlib 後端進行互動式使用。 |
5 | --gui=options 啟用與任意 ('glut', 'gtk', 'gtk2','gtk3', 'osx', 'pyglet', 'qt', 'qt4', 'qt5', 'tk', 'wx', 'gtk2', 'qt4') GUI 事件迴圈整合。 |
一些 IPython 命令列選項的示例用法如下表所示:
序號 | IPython 命令 & 說明 |
---|---|
1 | ipython --matplotlib 啟用 matplotlib 整合 |
2 | ipython --matplotlib=qt 使用 qt4 後端啟用 matplotlib 整合 |
3 | ipython --profile=myprofile 使用配置檔案 myprofile 啟動 |
4 | ipython profile create myprofile 使用預設配置檔案建立配置檔案 myprofile |
5 | ipython help profile 顯示配置檔案子命令的幫助 |
6 | ipython locate 列印 IPython 目錄的路徑 |
7 | ipython locate profile myprofile 列印配置檔案 `myprofile` 的目錄路徑 |
IPython - 動態物件內省
IPython 有多種方法可以動態地獲取有關 Python 物件的資訊。在本章中,讓我們學習在 IPython 中進行動態物件內省的方法。
使用 ? 和 ?? 可以提供關於物件的特定和更詳細的資訊。在下面討論的第一個示例中,建立了一個簡單的整數物件 a。可以透過在輸入單元中鍵入 a ? 來獲取其資訊。

在第二個示例中,讓我們定義一個函式並使用 ? 和 ?? 來內省此函式物件。

請注意,魔法函式 %psearch 等效於使用 ? 或 ?? 獲取物件資訊。
IPython - I/O 快取
IPython 控制檯上的輸入和輸出單元按順序遞增編號。在本章中,讓我們詳細瞭解 Python 中的 IO 快取。
在 IPython 中,可以使用向上箭頭鍵檢索輸入。此外,所有以前的輸入都已儲存並可以檢索。變數 _i、__i 和 ___i 始終儲存前三個輸入條目。此外,In 和 _in 變數提供所有輸入的列表。顯然,_in[n] 從第 n 個輸入單元檢索輸入。以下 IPython 會話可以幫助您理解這種現象:
In [1]: print ("Hello") Hello In [2]: 2+2 Out[2]: 4 In [3]: x = 10 In [4]: y = 2 In [5]: pow(x,y) Out[5]: 100 In [6]: _iii, _ii, _i Out[6]: ('x = 10', 'y = 2', 'pow(x,y)') In [7]: In Out[7]: ['', 'print ("Hello")', '2+2', 'x = 10', 'y = 2', 'pow(x,y)', '_iii, _ii, _i', 'In' ] In [8]: In[5] 9. IPython — IO Out[8]: 'pow(x,y)' In [9]: _ih Out[9]: ['', 'print ("Hello")', '2+2', 'x = 10', 'y = 2', 'pow(x,y)', '_iii, _ii, _i', 'In', 'In[5]', '_ih' ] In [11]: _ih[4] Out[11]: 'y = 2' In [12]: In[1:4] Out[12]: ['print ("Hello")', '2+2', 'x=10']
類似地,單下劃線、雙下劃線和三下劃線充當變數以儲存前三個輸出。此外,Out 和 _oh 形成一個單元格編號和執行操作(不包括賦值語句)的單元格輸出的字典物件。要檢索特定輸出單元格的內容,請使用 Out[n] 或 _oh[n]。您還可以使用切片來獲取一定範圍內的輸出單元格。
In [1]: print ("Hello") Hello In [2]: 2+2 Out[2]: 4 In [3]: x = 10 In [4]: y = 3 In [5]: pow(x,y) Out[5]: 1000 In [6]: ___, __, _ Out[6]: ('', 4, 1000) In [7]: Out Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)} In [8]: _oh Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)} In [9]: _5 Out[9]: 1000 In [10]: Out[6] Out[10]: ('', 4, 1000)
將 IPython 設定為預設 Python 環境
不同的環境變數會影響 Python 的行為。PYTHONSTARTUP 環境變數被賦值給一個 Python 指令碼。因此,此指令碼在 Python 提示符出現之前執行。如果每次啟動新的 Python 會話時都需要預設載入某些模組,這將非常有用。
以下指令碼 (start.py) 匯入 IPython 模組並執行 start_ipython() 函式,以在呼叫 Python 可執行檔案時使用 IPython shell 替換預設的 Python shell 提示符 (>>>)。
import os, IPython os.environ['PYTHONSTARTUP'] = '' IPython.start_ipython() raise SystemExit
假設此檔案儲存在 Python 的安裝目錄 (c:\python36) 中,請設定 PYTHONSTARTUP 環境變數並從命令列啟動 Python。然後將出現 IPython shell,如下所示:

請注意,可以使用 Windows 中的“系統屬性”對話方塊和 Linux 中的 export 命令永久設定環境變數。
IPython - 匯入 Python Shell 程式碼
IPython 可以從具有預設 >>> 提示符的標準 Python 控制檯和另一個 IPython 會話讀取。以下螢幕截圖顯示了在標準 Python shell 中編寫的 for 迴圈:

複製程式碼(以及 Python 提示符)並將程式碼貼上到 IPython 輸入單元格中。IPython 會智慧地過濾掉輸入提示符(>>> 和 ...)或 IPython 提示符(In [N]: 和 ...:)。

類似地,可以將來自一個 IPython 會話的程式碼貼上到另一個會話中。下面給出的第一個螢幕截圖顯示在一個 IPython 視窗中定義 SayHello() 函式:

現在,讓我們選擇程式碼並將其貼上到另一個 IPython shell 中,然後呼叫 SayHello() 函式。

嵌入 IPython
IPython 模組的 embed() 函式使得可以在 Python 程式碼的名稱空間中嵌入 IPython。這樣,您就可以在預設的 Python 環境中利用 IPython 的功能,例如物件內省和製表符補全。

在嵌入之前出現在全域性名稱空間中的 Python 物件將可用於 IPython。

如果在 IPython 中形成了新物件或修改了以前的物件,則在退出 IPython 後,它們將自動可用於預設環境。嵌入式 IPython shell 不會更改先前程式碼或物件的狀態。
但是,如果 IPython 嵌入到區域性名稱空間(例如函式內部),則一旦關閉 IPython,其中的物件將不可用。在這裡,我們定義了一個函式 add()。在 add() 中,我們呼叫 IPython 並聲明瞭一個變數。如果我們在關閉 IPython 後嘗試訪問 IPython 中的變數,則會引發 NameError 異常。

IPython - 魔術命令
與標準 Python shell 相比,魔法命令或魔法函式是 IPython 提供的重要增強功能之一。這些魔法命令旨在解決使用 Python 進行資料分析中的常見問題。事實上,它們控制 IPython 本身的行為。
魔法命令充當便捷函式,其中 Python 語法不是最自然的。它們對於在其工作流程中嵌入無效的 Python 語法非常有用。
魔法命令的型別
有兩種型別的魔法命令:
- 行魔法
- 單元魔法
行魔法
它們類似於命令列呼叫。它們以 % 字元開頭。行的其餘部分是其引數,無需括號或引號。行魔法可以用作表示式,其返回值可以賦值給變數。
單元魔法
它們具有 %% 字元字首。與行魔法函式不同,它們可以在其呼叫下方的多行上執行。事實上,它們可以對接收到的輸入進行任意修改,這些輸入甚至根本不需要是有效的 Python 程式碼。它們將整個塊作為單個字串接收。
要了解有關魔法函式、內建魔法函式及其文件字串的更多資訊,請使用魔法命令。特定魔法函式的資訊可以透過 %magicfunction? 命令獲取。現在讓我們描述一些內建的行和單元魔法命令。
內建行魔法
%autocall [mode]
此魔法函式使函式無需使用括號即可自動呼叫。它接受三個可能的模式引數:0(關閉)、1(智慧)是預設值或2(始終開啟)。

%automagic
如果設定為 1,則無需鍵入初始 % 即可呼叫魔法函式。在沒有引數的情況下,它會切換開啟/關閉。要停用,請設定為 0。
以下示例顯示了一個魔法函式 %pwd(顯示當前工作目錄)在 %automagic 設定為 1 時無需前導 % 即可呼叫。

%cd
此行魔法更改當前目錄。此命令會自動維護您在 IPython 會話期間訪問的目錄的內部列表,位於變數 _dh 中。您還可以執行“cd -<tab>”以便方便地檢視目錄歷史記錄。

用法
%cd 命令可以以下幾種方式使用:
%cd <dir> − 將當前工作目錄更改為 <dir>
%cd.. − 將當前目錄更改為父目錄
%cd − 更改為上次訪問的目錄。
%dhist
此魔法命令列印您在本會話中訪問的所有目錄。每次使用 %cd 命令時,此列表都會在 _dh 變數中更新。

%edit
此魔法命令呼叫當前作業系統的預設文字編輯器(Windows 為記事本)來編輯 Python 指令碼。關閉編輯器後,將執行指令碼。
%env
此魔法命令將列出所有環境變數。它還會讀取特定變數的值或設定環境變數的值。
用法
%cd 命令可以以下幾種方式使用:
%env − 列出所有環境變數
%env var − 獲取 var 的值
%env var val − 設定 var 的值

%gui [GUINAME]
在沒有引數的情況下使用此命令將啟用或停用 IPython GUI 事件迴圈整合。使用 GUINAME 引數,此魔法將預設 GUI 工具包替換為指定的工具包。
序號 | 命令 & 說明 |
---|---|
1 | %gui wx 啟用 wxPython 事件迴圈整合 |
2 | %gui qt4|qt 啟用 PyQt4 事件迴圈整合 |
3 | %gui qt5 啟用 PyQt5 事件迴圈整合 |
4 | %gui gtk 啟用 PyGTK 事件迴圈整合 |
5 | %gui gtk3 啟用 Gtk3 事件迴圈整合 |
6 | %gui tk 啟用 Tk 事件迴圈整合 |
7 | %gui osx 啟用 Cocoa 事件迴圈整合 |
8 | (需要 %matplotlib 1.1) |
9 | %gui 停用所有事件迴圈整合 |
%lsmagic
顯示當前可用的所有魔法函式

%matplotlib
此函式在 IPython 會話期間啟用 matplotlib 互動式支援。但是,它不會匯入 matplotlib 庫。matplotlib 預設 GUI 工具包是 TkAgg。但是您可以顯式請求不同的 GUI 後端。您可以看到可用後端的列表,如下所示:
In [4]: %matplotlib --list Available matplotlib backends: ['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']
此處顯示的 IPython 會話使用 qt 工具包繪製正弦波:

在使用 Jupyter notebook 時,%matplotlib inline 指令僅在瀏覽器中顯示繪圖輸出。
%notebook
此函式將當前 IPython 歷史記錄轉換為具有 ipynb 副檔名的 IPython notebook 檔案。先前示例中的輸入單元格儲存為 sine.ipynb
%notebook sine.ipynb
%pinfo
此函式類似於物件內省 ? 字元。要獲取有關物件的資訊,請使用以下命令:
%pinfo object
這與 object? 或 ?object 同義。
%precision
此魔法函式將浮點結果限制為小數點後指定位數。

%pwd
此魔法函式返回當前工作目錄。

%pylab
此函式使用 matplotlib 和 numpy 庫填充當前 IPython 會話。

%recall
在沒有引數的情況下執行時,此函式將執行上一個命令。
注意,在%recall n中,前面的數字是輸入單元格的編號。因此,將呼叫第n個單元格中的命令。可以使用諸如%recall 1-4之類的命令來呼叫單元格區域中的命令。當前輸入單元格將填充已呼叫的單元格內容,游標將閃爍,直到按下回車鍵。

%run
此命令從IPython shell內部執行Python指令碼。

%time
此命令顯示IPython環境執行Python表示式所需的時間。

%timeit
此函式還顯示IPython環境執行Python表示式所需的時間。Python語句或表示式的執行時間使用timeit模組。此函式可以作為行魔法和單元格魔法使用,如下所述:
在行模式下,您可以計時單行程式碼。
在單元格模式下,第一行的語句用作設定程式碼,並對單元格的主體進行計時。單元格主體可以訪問在設定程式碼中建立的任何變數。
%who
此行魔法函式列印所有互動式變數,並進行一些簡單的格式化。如果給出任何引數,則僅列印型別與這些引數之一匹配的變數。

IPython自定義行魔法函式
IPython的核心庫包含register_line_magic裝飾器。使用此裝飾器,使用者定義的函式將轉換為行魔法函式。

Jupyter 專案 - 概述
Jupyter專案始於2014年作為IPython專案的衍生專案。IPython的語言無關特性被遷移到Jupyter專案下。這個名字指的是Jupyter支援的核心程式語言:Julia、Python和R。Jupyter專案下的產品旨在支援互動式資料科學和科學計算。
Jupyter專案包含以下產品:
IPykernel − 此軟體包為Jupyter提供IPython核心。
Jupyter客戶端 − 此軟體包包含Jupyter協議的參考實現。它也是一個用於啟動、管理和與Jupyter核心通訊的客戶端庫。
Jupyter Notebook − 此前稱為IPython Notebook。這是一個基於Web的介面,用於IPython核心以及許多其他程式語言的核心。
Jupyter核心 − 核心是Jupyter產品的程式語言的執行環境。
Jupyter核心列表如下:
核心 | 語言 | URL |
---|---|---|
IJulia | Julia | |
IHaskell | Haskell | |
IRuby | Ruby | |
IJavaScript | JavaScript | |
IPHP | PHP | |
IRKernel | R |
Qtconsole − 一個基於Qt的豐富的控制檯,用於與Jupyter核心一起工作
nbconvert − 將Jupyter Notebook檔案轉換為其他格式
JupyterLab − 基於Web的整合介面,用於筆記本、編輯器、控制檯等。
nbviewer − Notebook檔案的HTML檢視器
Jupyter Notebook - 簡介
IPython Notebook由Fernando Perez開發,作為IPython核心的基於Web的前端。為了建立一個用於多種語言的整合互動式計算環境,Notebook專案被轉移到Jupyter專案下,除了Python之外,還為Julia和R程式設計環境提供前端。
Notebook文件由富文字元素組成,包含HTML格式的文字、圖形、數學公式等。Notebook也是一個可執行文件,包含Python或其他支援語言的程式碼塊。
Jupyter Notebook是一個客戶端-伺服器應用程式。該應用程式在本地機器上啟動伺服器,並在Web瀏覽器中開啟Notebook介面,可以在其中進行編輯和執行。Notebook儲存為ipynb檔案,可以匯出為html、pdf和LaTex檔案。
線上使用Jupyter
如果您不熟悉Jupyter,可以在本地安裝之前嘗試Jupyter Notebook的功能。為此,請在瀏覽器中訪問https://jupyter.tw,然後選擇“使用Python試用Jupyter”選項。

這將開啟https://mybinder.org的主頁。從“檔案”選單中,選擇“新建Notebook”選項以在瀏覽器中開啟一個空白的Jupyter Notebook。與IPython終端類似的輸入單元格將顯示出來。您可以在其中執行任何Python表示式。

安裝和開始
您可以使用pip包管理器輕鬆安裝Jupyter Notebook應用程式。
pip3 install jupyter
要啟動應用程式,請在命令提示符視窗中使用以下命令。
c:\python36>jupyter notebook
伺服器應用程式在預設埠號8888上執行,瀏覽器視窗開啟以顯示Notebook儀表板。

觀察到,儀表板在瀏覽器右側邊界附近顯示一個下拉選單,在“新建”按鈕旁邊有一個箭頭。它包含當前可用的Notebook核心。現在,選擇Python 3,然後在新標籤頁中開啟一個新的Notebook。將顯示類似於IPython控制檯的輸入單元格。
您可以在其中執行任何Python表示式。結果將顯示在輸出單元格中。

Jupyter Notebook - 儀表板
Jupyter Notebook的儀表板包含三個標籤頁,如下面的螢幕截圖所示:

檔案標籤頁
“檔案”標籤頁顯示呼叫Notebook應用程式的當前目錄下的檔案和資料夾。對應於當前開啟的Notebook的行以及執行狀態顯示在“上次修改”列的旁邊。它還顯示“上傳”按鈕,可以使用該按鈕將檔案上傳到Notebook伺服器。
執行標籤頁
“執行”標籤頁顯示當前正在執行的Notebook。
叢集標籤頁
第三個標籤頁“叢集”由IPython並行提供。IPython的平行計算框架,是IPython核心的擴充套件版本。
從“新建”下拉選單中選擇“終端”以開啟一個cmd視窗。您現在可以在這裡啟動IPython終端。

Jupyter Notebook - 使用者介面
在Jupyter的使用者介面中,檔名稱顯示在標題欄中的徽標旁邊。

您可以在標題欄下方找到選單欄。每個選單包含許多選項,稍後將進行討論。

一排構成工具欄的圖示可幫助使用者執行經常需要的操作

Notebook有兩種模式:命令模式和編輯模式。單擊單元格時,Notebook進入編輯模式。請注意核心名稱旁邊的鉛筆符號。

核心指示器符號顯示在核心名稱的右側。請注意,空心圓圈表示核心空閒,實心圓圈表示核心繁忙。

檔案選單
以下是“檔案”選單中提供的選項:
序號 | 檔案選單和描述 |
---|---|
1 | 新建Notebook 選擇核心以啟動新的Notebook |
2 | 開啟 將使用者帶到儀表板以選擇要開啟的Notebook |
3 | 另存為 儲存當前Notebook並啟動新的核心 |
4 | 重新命名 重新命名當前Notebook |
5 | 儲存 儲存當前Notebook並存儲當前檢查點 |
6 | 恢復 將Notebook的狀態恢復到之前的檢查點 |
7 | 下載 以各種檔案格式之一匯出Notebook |
可用的檔案格式如下所示:

編輯選單
編輯選單包含用於執行剪下、複製和貼上單元格、刪除選定單元格、拆分和合並單元格、上下移動單元格、在Notebook中查詢和替換、剪下/複製附件以及插入影像的按鈕。
檢視選單
此選單中的按鈕可幫助我們隱藏/顯示標題、工具欄和單元格編號。
插入選單
此選單為您提供在當前單元格之前或之後插入單元格的選項。
單元格選單
此選單中的選項允許使用者執行Notebook中的所有單元格或特定單元格。您還可以將單元格型別設定為程式碼型別、Markdown或原始nbconvert型別。
核心選單
從此選單中,您可以啟動、中斷、重啟或關閉核心。您還可以啟動新的核心。
小部件選單
從此選單中,您可以儲存、清除、下載或嵌入小部件狀態。
幫助選單
從此選單中顯示各種預定義的鍵盤快捷鍵。您還可以根據自己的方便調整快捷鍵。
Jupyter Notebook - 單元格型別
Jupyter Notebook中的單元格分為三種類型:程式碼、Markdown和原始。
程式碼單元格
此單元格中的內容被視為當前核心程式語言中的語句。預設核心是Python。因此,我們可以在程式碼單元格中編寫Python語句。執行此類單元格時,其結果將顯示在輸出單元格中。輸出可以是文字、影像、matplotlib繪圖或HTML表格。程式碼單元格具有富文字功能。
Markdown單元格
這些單元格包含使用Markdown語言格式化的文字。所有型別的格式化功能都可用,例如使文字加粗和斜體、顯示有序或無序列表、呈現表格內容等。Markdown單元格特別有用,可以為Notebook的計算過程提供文件。
原始單元格
原始單元格中的內容不會由Notebook核心進行評估。透過nbconvert傳遞時,它們將按需呈現。如果您在原始單元格中鍵入LatEx,則應用nbconvert後將進行呈現。

Jupyter Notebook - 編輯
雖然選單欄和工具欄允許您對Notebook執行各種操作,但最好能夠使用鍵盤快捷鍵快速執行這些操作。
Jupyter Notebooks有兩種不同的鍵盤輸入模式:
命令模式 − 將鍵盤繫結到Notebook級別的操作。以灰色單元格邊框和藍色左邊緣為標誌。
編輯模式 − 當您在單元格中鍵入時。以綠色單元格邊框為標誌。
命令模式(按Esc啟用)
F |
查詢和替換 | 1 |
將單元格更改為標題1 |
Ctrl-Shift-F |
開啟命令面板 | 2 |
將單元格更改為標題2 |
Ctrl-Shift-P |
開啟命令面板 | 3 |
將單元格更改為標題3 |
Enter |
進入編輯模式 | 4 |
將單元格更改為標題4 |
P |
開啟命令面板 | 5 |
將單元格更改為標題5 |
Shift-Enter |
執行單元格,選擇下一單元格 | 6 |
將單元格更改為標題6 |
Ctrl-Enter |
執行選定的單元格 | A |
在上面插入單元格 |
Alt-Enter |
執行單元格並在下方插入 | B |
在下面插入單元格 |
Y |
將單元格更改為程式碼 | X |
剪下選定的單元格 |
M |
將單元格更改為Markdown | C |
複製選定的單元格 |
R |
將單元格更改為原始 | V |
在下方貼上單元格 |
K |
選擇上面的單元格 | Z |
撤消單元格刪除 |
Up |
選擇上面的單元格 | D,D |
刪除選定的單元格 |
Down |
選擇下面的單元格 | Shift-M |
合併選定的單元格,或者如果只有一個單元格被選中,則合併當前單元格和下面的單元格 |
J |
選擇下面的單元格 | Shift-V |
在上方貼上單元格 |
Shift-K |
擴充套件上面選定的單元格 | L |
切換行號 |
Shift-Up |
擴充套件上面選定的單元格 | O |
切換選定單元格的輸出 |
Shift-Down |
擴充套件下面選定的單元格 | Shift-O |
切換選定單元格的輸出滾動 |
Shift-J |
擴充套件下面選定的單元格 | I,I |
中斷核心 |
Ctrl-S |
儲存並檢查點 | 0,0 |
重啟核心(帶對話方塊) |
S |
儲存並檢查點 | Esc |
關閉分頁器 |
Shift-L |
切換所有單元格的行號,並持久儲存設定 | Q |
關閉分頁器 |
Shift-Space |
向上滾動筆記本 | Space |
向下滾動筆記本 |
編輯模式(按 Enter 鍵啟用)
Tab |
程式碼補全或縮排 | Ctrl-Home |
跳轉到單元格開頭 |
Shift-Tab |
工具提示 | Ctrl-Up |
跳轉到單元格開頭 |
Ctrl-] |
縮排 | Ctrl-End |
跳轉到單元格結尾 |
Ctrl-[ |
取消縮排 | Ctrl-Down |
跳轉到單元格結尾 |
Ctrl-A |
全選 | Ctrl-Left |
向左移動一個單詞 |
Ctrl-Z |
撤銷 | Ctrl-Right |
向右移動一個單詞 |
Ctrl-/ |
註釋 | Ctrl-M |
進入命令模式 |
Ctrl-D |
刪除整行 | Ctrl-Shift-F |
開啟命令面板 |
Ctrl-U |
撤銷選擇 | Ctrl-Shift-P |
開啟命令面板 |
Insert |
切換覆蓋標誌 | Esc |
進入命令模式 |
Ctrl-Backspace |
刪除之前的單詞 | Ctrl-Y |
重做 |
Ctrl-Delete |
刪除之後的單詞 | Alt-U |
重做選擇 |
Shift-Enter |
執行單元格,選擇下一單元格 | Ctrl-Shift-Minus |
在游標處分割單元格 |
Ctrl-Enter |
執行選定的單元格 | Down |
游標向下移動 |
Alt-Enter |
執行單元格並在下方插入 | Up |
游標向上移動 |
Ctrl-S |
儲存並檢查點 |
Jupyter Notebook - Markdown 單元格
Markdown單元格顯示可以使用Markdown語言格式化的文字。為了輸入筆記本伺服器不應將其視為程式碼的文字,必須首先將其轉換為Markdown單元格,方法是從單元格選單或在命令模式下使用鍵盤快捷鍵M。單元格之前的In[]提示符將消失。
標題單元格
Markdown單元格可以顯示6種大小的標題文字,類似於HTML標題。在Markdown單元格中,以#符號開頭文字。使用與所需標題級別對應的#符號數量。這意味著單個#將呈現最大的標題行,而六個#符號將呈現最小字型大小的標題。當您從單元格選單或工具欄的執行按鈕執行單元格時,將進行呈現。
以下螢幕截圖顯示了編輯模式下具有三個不同級別標題的Markdown單元格。

執行單元格後,輸出如下:

請注意,Jupyter Notebook Markdown不支援所見即所得功能。格式化的效果只有在執行Markdown單元格後才會呈現。
有序列表
要呈現HTML的<ol>標籤所做的編號列表,列表中的第一項應編號為1。後續專案可以賦予任何編號。在執行Markdown單元格時,它將按順序呈現。要顯示縮排列表,請按Tab鍵,並在每個子列表中的第一項前面加上1。
如果您為Markdown提供以下資料:

它將顯示以下列表:

無序列表
如果列表項以–符號開頭,則列表中的每一項都將顯示一個實心圓圈;如果列表以*符號開頭,則將顯示一個實心方塊符號。以下示例說明了此功能:

呈現的Markdown顯示如下:

超連結
以http或https開頭的Markdown文字會自動呈現超連結。要將連結附加到文字,請將文字放在方括號[]中,並將連結放在括號()中,也可以包含懸停文字。以下螢幕截圖將對此進行解釋。

呈現的Markdown顯示如下:

粗體和斜體
要將文字顯示為粗體,請將其放在兩個下劃線或兩個星號之間。要顯示為斜體,請將其放在單個下劃線或單個星號之間。

結果如下所示:

影像
要在Markdown單元格中顯示影像,請從“編輯”選單中選擇“插入影像”選項,然後瀏覽到所需的影像檔案。Markdown單元格將顯示其語法如下:

影像將在筆記本中呈現如下所示:

表格
在Markdown單元格中,可以使用|(管道符號)和–(破折號)來構造表格,以標記列和行。請注意,鍵入時符號不需要完全對齊。它只需要佔據列邊框和行邊框各自的位置即可。筆記本將根據內容自動調整大小。表格的構造如下所示:

輸出表格將呈現如下所示:

Jupyter Notebook - 單元格魔法函式
在本章中,讓我們瞭解單元格魔法函式及其功能。
%%html
此單元格魔法函式將程式碼單元格的內容呈現為html指令碼。

%%js 或 %%javascript
您可以使用此單元格魔法命令在Jupyter Notebook單元格中嵌入javascript程式碼。


%%writefile
使用此命令將程式碼單元格的內容寫入檔案。

Jupyter Notebook - 繪圖
Jupyter Notebook的IPython核心能夠顯示輸入單元格中程式碼的繪圖。它與matplotlib庫無縫協同工作。使用%matplotlib魔法函式的內聯選項即使沒有呼叫繪圖物件的show()函式,也會在單元格外部呈現繪圖。show()函式會導致圖形在in[]單元格下方顯示,而沒有帶編號的out[]。

現在,在末尾新增plt.show()並再次執行單元格以檢視區別。
請注意,%matplotlib notebook 魔法函式會呈現互動式繪圖。
在圖形下方,您可以找到一個工具欄,用於切換檢視、平移、縮放和下載選項。

重要的是,如果您修改繪圖下方的資料,顯示將動態更改,而無需繪製另一個繪圖。
在上面的示例中,更改下方單元格中x和y的資料集,然後再次繪製圖形,上面的圖形將動態重新整理。

Jupyter - 轉換筆記本
Jupyter筆記本副檔名為.ipynb。筆記本由筆記本應用程式在Web瀏覽器中呈現。可以使用檔案選單中的“另存為”選項將其匯出為各種檔案格式。Jupyter還具有以nbconvert選項形式的命令列介面。預設情況下,nbconvert將筆記本匯出為HTML格式。您可以使用以下命令執行此操作:
jupyter nbconvert mynotebook.ipynb
這會將mynotebook.ipynb轉換為mynotebook.html。其他匯出格式由`--to`子句指定。
請注意,其他選項包括['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'rst', 'script', 'slides']
HTML包括“basic”和“full”模板。您可以在命令列中指定如下:
jupyter nbconvert --to html --template basic mynotebook.ipynb
LaTex是一種文件準備格式,尤其用於科學排版。Jupyter包括“base”、“article”和“report”模板。
jupyter nbconvert --to latex –template report mynotebook.ipynb
要透過latex生成PDF,請使用以下命令:
jupyter nbconvert mynotebook.ipynb --to pdf
筆記本可以匯出為HTML幻燈片。轉換在後臺使用Reveal.js。要在HTTP伺服器上提供幻燈片,請在命令列中新增--postserve。要製作不需要網際網路連線的幻燈片,只需將Reveal.js庫放在與your_talk.slides.html位於同一目錄中即可。
jupyter nbconvert myslides.ipynb --to slides --post serve
markdown選項將筆記本轉換為簡單的markdown輸出。Markdown單元格不受影響,程式碼單元格縮排4個空格。
--to markdown
您可以使用rst選項將筆記本轉換為基本的reStructuredText輸出。它作為將筆記本嵌入Sphinx文件的起點非常有用。
--to rst
這是從筆記本中獲取Python(或其他語言,取決於核心)指令碼的最簡單方法。
--to script
Jupyter Notebook - IPyWidgets
IPyWidgets是用於Jupyter Notebook的HTML互動式小部件的Python庫。庫中的每個UI元素都可以響應事件並呼叫指定的事件處理程式函式。它們增強了Jupyter Notebook應用程式的互動功能。
為了在筆記本中包含小部件,我們必須匯入以下模組,如下所示:
from ipywidgets import widgets
這裡解釋了一些基本IPyWidgets:
文字輸入
widgets.text()函式在筆記本中呈現小部件。它類似於HTML中的文字框表單元素。此小部件的物件具有on_submit()方法,該方法偵聽文字欄位的活動,並可以呼叫作為引數傳遞給它的事件處理程式。
按鈕
此小部件類似於HTML按鈕。單擊它時,on_click()方法將註冊事件,該方法將呼叫單擊事件處理程式。
IntSlider
一個滑塊控制元件,顯示遞增的整數值。還有一個FloatSlider和IntRangeSlider(在範圍內更改整數)。
標籤
此小部件用於在筆記本中顯示不可編輯的文字。
display()
此函式來自ipywidgets模組,用於在筆記本的輸入單元格中呈現小部件物件。
Interact
此函式根據傳遞給它的資料引數的型別自動呈現小部件。此函式的第一個引數是事件處理程式,第二個引數是傳遞給事件處理程式本身的值。
以下示例顯示三個標籤小部件、兩個文字小部件和一個帶有“add”標題的按鈕。單擊按鈕後,兩個文字輸入欄位中數字的總和將顯示在最下面的標籤上。

Jupyter QtConsole - 入門
在本章中,讓我們瞭解如何開始使用QtConsole。本章將概述此軟體並解釋其安裝步驟。
概述
Qt控制檯是一個類似於IPython終端的GUI應用程式。但是,它提供了一些文字型IPython終端中沒有的增強功能。增強功能包括內聯圖形、帶語法高亮的多分支編輯、圖形呼叫提示等。Qt控制檯可以使用任何Jupyter核心,預設核心為IPython核心。
安裝
Jupyter QtConsole是Jupyter專案的組成部分。Anaconda發行版中已經包含了QTconsole應用程式。要單獨安裝它,請使用以下pip命令:
pip3 install qtconsole
您也可以為此目的使用conda命令:
conda install qtconsole
您可以從Anaconda Navigator啟動Jupyter控制檯。要從命令列啟動它,應使用以下命令,無論是從Windows命令提示符還是Anaconda提示符:
jupyter qtonsole
您將獲得一個類似於IPython終端的終端,帶有一個In[]提示符。您現在可以執行任何Python表示式,就像我們在IPython終端或Jupyter Notebook中所做的一樣。

Jupyter QtConsole - 多行編輯
多行編輯是IPython終端中沒有的功能之一。要在單個輸入單元格中輸入多個語句,請在第一行之後按ctrl+enter。之後,只需按enter鍵即可在同一單元格中新增新行。要停止輸入新行並執行單元格,請在最後再按一次enter鍵。單元格將執行,輸出將顯示在下一個out[]單元格中。

Jupyter QtConsole - 內聯圖形
QtConsole提供的另一個重要增強功能是能夠顯示內聯圖形,尤其是繪圖。此功能與Matplotlib以及其他繪相簿都能很好地配合使用。

Jupyter QtConsole - 儲存為HTML
將QtConsole輸出儲存為HTML檔案的選項在“檔案”選單中可用。您可以選擇建立包含內聯影像或將繪圖圖形作為外部png檔案建立檔案(名為qt_files)。

Jupyter QtConsole - 多個控制檯
您可以在Jupyter控制檯應用程式中開啟多個選項卡。“檔案”選單中提供了三個選項用於此目的。
使用新核心新建選項卡 - 您可以使用此檔案選單載入新的核心。
使用現有核心新建選項卡 - 使用此選項,您可以從IPython核心之外的其他核心中進行選擇。
使用相同核心新建選項卡 - 這將建立載入到特定選項卡上的核心的從屬項。因此,在主選項卡上初始化的物件將在從屬項中訪問,反之亦然。

連線到 Jupyter Notebook
Jupyter Notebook 提供了一個 %qtconsole 魔法命令。此命令會呼叫 QtConsole 作為 Notebook 前端的一個從屬終端。因此,Notebook 和 QtConsole 終端之間可以共享資料。

您可以看到 Notebook 中的變數可以在 **qtconsole** 視窗中訪問。同樣,QtConsole 中的新變數也可以在 Notebook 中使用。
請注意,這兩個程式的輸入和輸出單元是遞增編號的。
使用 github 和 nbviewer
共享 Jupyter Notebook – 使用 GitHub 和 nbviewer
GitHub 倉庫中具有 **.ipynb** 副檔名的 Jupyter Notebook 檔案在開啟時將被渲染為靜態 HTML 檔案。Notebook 的互動式功能(例如自定義 JavaScript 繪圖)在 GitHub 倉庫中將無法使用。
要使用 GitHub 共享 Notebook 檔案,請登入 https://github.com 並建立一個公共倉庫。然後使用“上傳檔案”按鈕上傳您的檔案,如下所示:

這將為您提供提交對倉庫所做更改的選項。然後,倉庫將顯示上傳的檔案,如下所示:

單擊上傳的檔案以在 GitHub 檢視器中檢視。您可以與他人共享突出顯示的 URL。

另一種線上檢視 Notebook 檔案的方法是使用 Jupyter 專案的 nbviewer 實用程式。開啟 https://nbviewer.jupyter.org/,並將您倉庫中檔案的 URL 放入文字欄位中,如圖所示。按“Go”按鈕檢視 Notebook。

這兩種方法都將 Notebook 檔案顯示為靜態 html。要能夠執行 Notebook 中的程式碼,請使用 Jupyter 專案的 Binder 應用程式開啟它。

在 nbviewer 視窗中,您將看到“在 Binder 上執行”按鈕。單擊它,您將看到 Notebook 檔案的開啟方式與您從本地機器上的 Notebook 伺服器本地儀表板開啟它完全相同。您可以執行新增/編輯單元格、執行單元格等所有操作。

JupyterLab - 概述
Jupyter 專案將 JupyterLab 描述為 Jupyter 生態系統下所有產品的下一代基於 Web 的使用者介面。它使您可以無縫地以可擴充套件的方式使用 Notebook、編輯器和終端。
下面討論 JupyterLab 的一些重要功能:
程式碼控制檯充當互動執行程式碼的備忘錄。它完全支援豐富的輸出,並且可以連結到 Notebook 核心以記錄 Notebook 活動。
任何文字檔案(Markdown、Python、R、LaTeX 等)都可以在任何 Jupyter 核心中互動執行。
Notebook 單元格輸出可以顯示在其自己的選項卡中,也可以與 Notebook 一起顯示,從而可以建立由核心支援的具有互動式控制元件的簡單儀表板。
文件的即時編輯會反映在其他檢視器(例如編輯器或控制檯)中。可以即時預覽 Markdown、分隔值或 Vega/Vega-Lite 文件。
JupyterLab 可以處理多種檔案格式(影像、CSV、JSON、Markdown、PDF 等)。它還以這些格式顯示豐富的輸出。JupyterLab 提供可自定義的鍵盤快捷鍵,並使用許多知名文字編輯器的鍵對映。
JupyterLab - 安裝和入門
在安裝之前,您可以嘗試線上使用 JupyterLab 的功能。訪問 https://jupyter.tw/try 並選擇“試用 JupyterLab”選項。

啟動器選項卡顯示當前可用的核心和控制檯。您可以基於其中任何一個啟動一個新的基於 Notebook/終端的程式。左列還包含檔案瀏覽器、正在執行的核心和選項卡以及設定檢視的選項卡。
JupyterLab 通常會隨 Anaconda 發行版自動安裝。但是,也可以使用以下 conda 命令單獨安裝:
conda install -c conda-forge jupyterlab
您也可以為此目的使用 pip 命令:
pip3 install jupyterlab
啟動 JupyterLab 應用程式最方便的方法是(如果已安裝)從 Anaconda Navigator 啟動。

或者,從 Windows/Linux 命令終端或 Anaconda 提示符使用此命令從命令列啟動它:
jupyter lab
無論哪種方式,JupyterLab 應用程式的啟動螢幕如下所示:

JupyterLab - 介面
要啟動新的 Notebook,請單擊所需的核心。在上面的螢幕截圖中,可以看到一個核心,即 Python3 核心。單擊它以啟動 Python Notebook。注意,其功能與我們在本教程中學習的功能類似。

選單欄
選單欄位於視窗頂部。您可以在其中找到的預設選單是:
**檔案** – 與檔案和目錄相關的操作。
**編輯** – 與編輯文件和其他活動相關的操作。
**檢視** – 更改 JupyterLab 外觀的操作。
**執行** – 用於在不同的活動(例如 Notebook 和程式碼控制檯)中執行程式碼的操作。
**核心** – 用於管理核心的操作,核心是用於執行程式碼的單獨程序。
**選項卡** – 停靠面板中開啟的文件和活動的列表。
**設定** – 常用設定和高階設定編輯器。
**幫助** – JupyterLab 和核心幫助連結的列表。
左側邊欄顯示用於啟動新的啟動器、新增資料夾、上傳檔案和重新整理檔案列表的按鈕。右側窗格是主要的的工作區域,其中 Notebook、控制檯和終端以選項卡檢視顯示。
要啟動新的控制檯,請單擊左側邊欄中的 + 符號以開啟新的啟動器,然後單擊控制檯選項。控制檯將在右側窗格的新選項卡中開啟。

請注意,輸入單元格位於底部,但是當它執行時,單元格及其相應的輸出單元格將出現在控制檯選項卡的上部。
啟動器還允許您開啟文字編輯器和終端,在其中可以呼叫 IPython shell。

JupyterLab - 安裝 R 核心
Jupyter 專案現在支援程式設計環境的核心。我們現在將瞭解如何在 Anaconda 發行版中安裝 R 核心。
在 Anaconda 提示符視窗中輸入以下命令:
conda install -c r r-essentials
現在,從啟動器選項卡中,選擇 R 核心以啟動新的 Notebook。

以下是具有 R 核心的 Jupyter Notebook 的螢幕截圖:
