IPython - 簡介



Project Jupyter 是一套用於互動式計算的軟體產品。IPython 最初由 Fernando Perez 於 2001 年開發,作為一種增強的 Python 直譯器。2011 年推出了 IPython Notebook,它以 Web 介面形式提供了 IPython 終端。2014 年,Project Jupyter 從 IPython 中分離出來,成為一個獨立專案。

Jupyter 專案下的軟體包包括:

  • Jupyter Notebook - 一個基於 Web 的介面,用於 Python、Julia、R 等多種程式設計環境

  • QtConsole - 基於 Qt 的 Jupyter 核心終端,類似於 IPython

  • nbviewer - 用於共享 Jupyter Notebook 的工具

  • JupyterLab - 所有產品的現代化 Web 整合介面。

Python 的標準發行版包含一個REPL(讀取-求值-列印迴圈)環境,以 Python Shell 的形式出現,並帶有>>>提示符。IPython(代表互動式 Python)是 Python 的一個增強的互動式環境,與標準 Python Shell 相比,它具有更多功能。

IPython 的特性

與標準 Python 相比,IPython 提供了更多功能。它們如下:

  • 提供了一個強大的互動式 Python Shell。

  • 充當 Jupyter Notebook 和 Project Jupyter 的其他前端工具的主核心。

  • 具有物件自省能力。自省是指在執行時檢查物件屬性的能力。

  • 語法高亮。

  • 儲存互動歷史記錄。

  • 關鍵字、變數和函式名的 Tab 自動補全。

  • 魔法命令系統,用於控制 Python 環境和執行作業系統任務。

  • 能夠嵌入到其他 Python 程式中。

  • 提供對 Python 偵錯程式的訪問。

歷史和發展

IPython 最初由 Fernando Perez 於 2001 年開發。其當前版本為 IPython7.0.1,需要 Python 3.4 或更高版本。IPython 6.0 是第一個支援 Python 3 的版本。使用 Python 2.7 的使用者應使用 IPython 2.0 到 5.7 版本。

計算筆記本的概念始於 20 世紀 80 年代,當時 MATLAB 和 Mathematica 釋出。這些互動式 Shell 的 GUI 前端具有文字格式化、新增圖形、表格和新增數學符號等功能。Sage Notebook 也是一個基於 Web 的筆記本。

IPython 的建立者於 2005 年開始開發 IPython Shell 的筆記本介面。IPython Notebook 很快增加了對其他語言(如 R 和 Julia)的支援。2014 年,Perez 將 Jupyter 專案從 IPython 中分離出來,因為 IPython 專案隨著 Notebook 伺服器和 Qt 控制檯等產品的增加而變得越來越大。

從 IPython 4.0 開始,所有附加元件都遷移到 Project Jupyter,併為 IPython Notebook 添加了其他語言的支援。IPython 繼續專注於改進其增強的直譯器功能。它還為 Jupyter Notebook 前端提供了主要核心。

廣告