Jupyter是一個非營利組織，旨在 為數十種程式語言的互動式計算開發開源軟體，開放標準和服務。2014 年由 Fernando Pérez 從 IPython 中衍生出來，Jupyter 支援幾十種語言的執行環境。Jupyter 專案開發並支援互動式計算產品 Jupyter Notebook（檔案格式是ipynb 檔案）、JupyterHub 和 JupyterLab。 歷史 2014 年，Fernando Pérez 宣佈從 IPython 中衍生出一個名為 Jupyter 的專案。IPython 繼續以 Python shell 和 Jupyter 核心的形式存在，而 IPython Notebook 和其他與語言無關的部分移到了 Jupyter 名下。 它支援的執行環境（也就是核心），這些語言包括 Julia、R、Haskell、Ruby，當然還有 Python（透過 IPython 核心）。 產品理念 Jupyter 專案的經營理念是透過開發開源軟體，支援所有程式語言之間的互動式資料科學和科學計算。根據 Jupyter 專案網站所言，Jupyter 將永遠是 100 的開源軟體，所有人都可以免費使用，並在修改後的 BSD 許可的自由條款下發布。 產品 Jupyter Notebook Jupyter Notebook（前身是 IPython Notebook）是一個基於 Web 的互動式計算環境，用於建立 Jupyter Notebook 文件。Jupyter Notebook 文件是一個 JSON 文件，包含一個有序的輸入 輸出單元格列表，這些單元格可以包含程式碼、文字（使用 Markdown 語言）、數學、圖表和富媒體 Rich media，通常以 ipynb 結尾 zhcn 擴充套件；zhhant 附檔名。 Jupyter Notebook 文件可以透過 Web 介面中的「Download As」，透過 nbconvert 庫或 shell 中的 jupyter nbconvert 命令列介面，轉換為許多的開源標準輸出格式（HTML、演示 zhcn 幻燈片；zhtw 投影片、LaTeX、PDF、reStructuredText、Markdown、Python。 為了簡化 Jupyter Notebook 文件在 Web 上的 zhcn 視覺化；zhtw 視覺化，nbconvert 庫是透過 nbviewer 提供的一項服務，它可以獲取任何公開可用的 Notebook 文件的 URL，將其動態轉換為 HTML 並顯示給使用者。 Jupyter Notebook 提供了一個基於瀏覽器的 REPL，它建立在一些流行的開源庫之上 IPython ØMQ Tornado（Web 伺服器） jQuery Bootstrap（前端框架） MathJax Jupyter Notebook 允許使用多種語言進行程式設計。在 23 版本（2014 年 10 月）中，有 49 個與 Jupyter 相容的核心，可以用於許多程式語言，包括 Python、R、Julia 和 Haskell。 IPython 在 012 版本（2011 年 12 月）中添加了 Notebook 介面，2015 年更名為 Jupyter Notebook（IPython 40 Jupyter 10）。Jupyter Notebook 類似於 Maple、Mathematica 和 SageMath 等程式的筆記本介面，SageMath 是一種計算介面風格，起源於 Mathematica 在 20 世紀 80 年代。據《大西洋》雜誌報道，在 2018 年初，使用者對 Jupyter 的興趣超過了 Mathematica Notebook 介面的流行程度。 Jupyter Kernels Jupyter Kernel 是一個負責處理各種型別的請求（程式碼執行、程式碼補全、檢查）和提供回覆的程式。核心透過 zhcn 網路；zhhant 網路 使用 ØMQ 與 Jupyter 的其他元件 zhcn 通訊；zhtw 通訊，因此可以在相同的或遠端的機器上。與許多其他類似於 Notebook 的介面不同，在 Jupyter 中，核心並不知道它們被附加到特定的文件，並且可以同時從多個 zhcn 客戶機；zhhant 客戶端 連線到它們。通常，核心是實現的，允許執行一種語言，但有幾個例外。 Jupyter 附帶 IPython 作為預設核心，並透過 ipykernel 包裝器提供引用實現。許多語言都有各種 zhcn 質量；zhhant 品質 和特性的核心。 JupyterHub JupyterHub 是一個用於 Jupyter Notebook 的多使用者伺服器。它透過生成、管理和代理許多單一的 Jupyter Notebook 伺服器來支援許多使用者。 JupyterHub API JupyterHub 向外暴露了以 REST 風格的 API 供開發者們使用，可參閱： 它包攬了一系列對 Jupyter 的操作，諸如生成使用者環境，配置環境等。 JupyterLab JupyterLab 是 Jupyter 專案的下一代使用者介面。它在一個靈活且強大的使用者介面中提供了經典的 Jupyter Notebook（筆記本、終端、文字編輯器、檔案瀏覽器、豐富輸出 Rich Text 等）所有熟悉的構建模組。第一個穩定版本於 2018 年 2 月 20 日釋出。 行業應用 Jupyter Notebook 已經成為雲計算的一個流行的使用者介面，主要的雲提供商已經採用了 Jupyter Notebook 或其衍生工具作為雲使用者的前端介面。例如亞馬遜的 SageMaker Notebook、Google 的 Colaboratory 以及微軟的 Azure Notebooks Collaboratory Collaboratory（也稱為 Colab）是一個免費的 Jupyter Notebook 環境，它在雲中執行，並將筆記本儲存在 Google 雲端硬碟上。Collaboratory 最初是 Jupyter 專案的一部分，但最終被 zhhans 谷歌；zhhantGoogle 接管。截止到 2018 年 9 月，Collaboratory 只支援 Python 2 和 Python 3 核心，不支援其他 Jupyter 核心，比如 Julia 和 R。 媒體報道 2016 年 2 月 11 日，LIGO 宣佈首次觀測引力波。這次釋出了原始的科學資料以及包含 Python 程式碼的 Jupyter Notebook 檔案，用於處理資料並從發現論文中複製資料。 2018 年 4 月 5 日，《大西洋》雜誌發表了一篇名為《科學論文過時了》的文章，討論了 Jupyter Notebook 和 Mathematica Notebook 在未來科學出版中的作用。這篇文章引起了包括經濟學家保羅羅默在內的著名科學家和學者的回應。 資助和獎勵 2012 年，Fernando Pérez 因其在 IPython（Jupyter 專案的前身）上的工作而獲得自由軟體基金會的自由軟體進步獎。 2013 年，IPython 團隊獲得了艾爾弗斯隆基金會 115 萬美元的資助，該基金會資助了導致 Jupyter 專案誕生的早期工作。 2015 年，Jupyter 專案被資助來自 Leona M 和 Harry B Helmsley 慈善信託基金，Gordon 和 Betty Moore 基金會以及艾爾弗斯隆基金會的聯合 600 萬美元，資助工作導致的擴充套件功能核心 Jupyter 工具，以及 JupyterLab 的建立。 2018 年 5 月 2 日，Jupyter 專案指導委員會榮獲 2017 年 ACM 軟體系統獎，這是一個年度獎項，它表彰 對技術概念和商業接受度方面產生了持久影響的軟體系統 的個人或組織。 Jupyter Online Binder Colaboratory Azure Notebooks Windows Jupyter Portable Anaconda Python 發行版 Mac Anaconda Python 發行版 Linux Jupyter Lab Anaconda Python 發行版 參考文獻 另請參閱 GNU Octave IPython RStudio SageMath Scilab Spyder Wolfram Mathematica 外部連結 Category 自由軟體組織 Category2015 年建立的組織 Category 嵌入 hAudio 微格式的條目