IPython 和 Jupyter 之间的关系可以从它们的历史和目标中得到很好的解释。IPython(Interactive Python)最初是由 Fernando Pérez 于 2001 年创建的,旨在提升 Python 的交互式计算体验。它提供了一个强大的交互式 Python shell 和一个面向高效计算的架构,比如并行计算等。随着时间的推移,IPython 发展了一套丰富的工具,其中最著名的就是 IPython Notebook。
IPython Notebook 是一种 Web 应用程序,允许用户创建和共享包含实时代码、方程式、可视化以及解释性文本的文档。这些笔记本文件成为了一种非常流行的方式,让数据科学家和研究人员共享研究结果、教育资料,以及进行协作。
随着 IPython Notebook 的流行,开发团队意识到这种笔记本界面不仅对 Python 社区有益,对其他编程语言也很有帮助。因此,于 2014 年,项目扩展成为 Project Jupyter。Jupyter 这个名字反映了项目支持的三种核心编程语言:Julia、Python 和 R,并象征着科学数据的探索,就像朱庇特探测器探索外太空一样。
Jupyter 不再仅限于 Python;它设计成了一个语言无关的项目,支持包括 Julia、R、Ruby 和 Scala 在内的多种编程语言。IPython 现在成为了 Jupyter 项目的一个子项目,专注于 Python 交互式计算的继续发展。
简而言之,IPython 是 Jupyter 项目的起源和一部分,专注于 Python 语言的交互式计算。而 Jupyter 拓宽了这一概念,提供了一个语言无关的平台,使得各种不同的编程语言都能使用丰富的交互式计算环境。