热门问题
时间线
聊天
视角
Jupyter
来自维基百科,自由的百科全书
Remove ads
Jupyter(i/ˈdʒuːpɪtər/)是一個非營利組織,旨在「為數十種編程語言的交互式計算開發開源軟件,開放標準和服務」。2014年由Fernando Pérez從IPython中衍生出來,Jupyter支持幾十種語言的執行環境。Jupyter項目開發並支持交互式計算產品Jupyter Notebook(文件格式是.ipynb文件)、JupyterHub和JupyterLab。
歷史
2014年,Fernando Pérez宣布從IPython中衍生出一個名為Jupyter的項目。[2]IPython繼續以Python shell和Jupyter內核的形式存在,而IPython Notebook和其他與語言無關的部分移到了Jupyter名下。[3][4][5] 它支持幾十種語言的執行環境(也就是內核),這些語言包括Julia、R、Haskell、Ruby,當然還有Python(通過IPython內核)。[6][7][8]
產品理念
Jupyter項目的經營理念是通過開發開源軟件,支持所有編程語言之間的交互式數據科學和科學計算。根據Jupyter項目網站所言,「Jupyter將永遠是100%的開源軟件,所有人都可以免費使用,並在修改後的BSD許可的自由條款下發布。」[1]
產品
Jupyter Notebook(前身是IPython Notebook)是一個基於Web的交互式計算環境,用於創建Jupyter Notebook文檔。Jupyter Notebook文檔是一個JSON文檔,包含一個有序的輸入/輸出單元格列表,這些單元格可以包含代碼、文本(使用Markdown語言)、數學、圖表和富媒體 (Rich media),通常以「.ipynb」結尾附檔名。
Jupyter Notebook文檔可以通過Web界面中的「Download As」,通過nbconvert庫或shell中的「jupyter nbconvert」命令行界面,轉換為許多的開源標準輸出格式(HTML、演示投影片、LaTeX、PDF、reStructuredText、Markdown、Python)。
為了簡化Jupyter Notebook文檔在Web上的視覺化,nbconvert庫是通過nbviewer提供的一項服務,它可以獲取任何公開可用的Notebook文檔的URL,將其動態轉換為 HTML 並顯示給用戶。

Jupyter Notebook提供了一個基於瀏覽器的REPL,它建立在一些流行的開源庫之上:
- IPython
- ØMQ
- Tornado(Web服務器)
- jQuery
- Bootstrap(前端框架)
- MathJax
Jupyter Notebook允許使用多種語言進行編程。在2.3版本[9][10](2014年10月)中,有49個與Jupyter兼容的內核,可以用於許多編程語言,包括Python、R、Julia和Haskell。[11]
IPython在0.12版本(2011年12月)中添加了Notebook界面,2015年更名為Jupyter Notebook(IPython 4.0 - Jupyter 1.0)。[12]Jupyter Notebook類似於Maple、Mathematica和SageMath等程序的筆記本界面,SageMath是一種計算界面風格,起源於Mathematica在20世紀80年代。[13]據《大西洋》雜誌報道,在2018年初,用戶對Jupyter的興趣超過了Mathematica Notebook界面的流行程度。[13]
Remove ads
Jupyter Kernel是一個負責處理各種類型的請求(代碼執行、代碼補全、檢查)和提供回復的程序。內核通過網路使用ØMQ與Jupyter的其他組件通訊,因此可以在相同的或遠程的機器上。與許多其他類似於Notebook的接口不同,在Jupyter中,內核並不知道它們被附加到特定的文檔,並且可以同時從多個客戶端連接到它們。通常,內核是實現的,允許執行一種語言,但有幾個例外。
Jupyter附帶IPython作為默認內核,並通過ipykernel包裝器提供引用實現。許多語言都有各種品質和特性的內核。
JupyterHub 是一個用於Jupyter Notebook的多用戶服務器。它通過生成、管理和代理許多單一的Jupyter Notebook服務器來支持許多用戶。
JupyterHub 向外暴露了以 REST 風格的 API 供開發者們使用,可參閱:[14]
它包攬了一系列對 Jupyter 的操作,諸如生成用戶環境,配置環境等。
JupyterLab是Jupyter項目的下一代用戶界面。它在一個靈活且強大的用戶界面中提供了經典的Jupyter Notebook(筆記本、終端、文本編輯器、文件瀏覽器、豐富輸出 (Rich Text) 等)所有熟悉的構建模塊。第一個穩定版本於2018年2月20日發布。[15]
行業應用
Jupyter Notebook已經成為雲計算的一個流行的用戶界面,主要的雲提供商已經採用了Jupyter Notebook或其衍生工具作為雲用戶的前端界面。例如亞馬遜的SageMaker Notebook[16]、Google的Colaboratory[17]以及微軟的Azure Notebooks[18]
Collaboratory(也稱為Colab)是一個免費的Jupyter Notebook環境,它在雲中運行,並將筆記本存儲在Google雲端硬盤上。Collaboratory最初是Jupyter項目的一部分,[19]但最終被Google接管。[20]截止到2018年9月,Collaboratory只支持Python 2和Python 3內核,不支持其他Jupyter內核,比如Julia和R。
媒體報道
資助和獎勵
- 2012年,Fernando Pérez因其在IPython(Jupyter項目的前身)上的工作而獲得自由軟件基金會的自由軟件進步獎。
- 2013年,IPython團隊獲得了艾爾弗·斯隆基金會115萬美元的資助,[23][24]該基金會資助了導致Jupyter項目誕生的早期工作。[25]
- 2015年,Jupyter項目被資助來自Leona M.和Harry B. Helmsley慈善信託基金,Gordon和Betty Moore基金會以及艾爾弗·斯隆基金會的聯合600萬美元,資助工作導致的擴展功能核心Jupyter工具,以及JupyterLab的創建。[26]
- 2018年5月2日,Jupyter項目指導委員會榮獲2017年ACM軟件系統獎,這是一個年度獎項,它表彰「對技術概念和商業接受度方面產生了持久影響的軟件系統」的個人或組織。[27]
Jupyter
- Binder[28]
- Colaboratory[29]
- Azure Notebooks[30]
- Jupyter Portable[31]
- Anaconda (Python發行版)
- Jupyter Lab[32]
- Anaconda (Python發行版)
參考文獻
另請參閱
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads