IPython - 简介


Jupyter 项目是一套用于交互式计算的软件产品。IPython 最初由 Fernando Perez 于 2001 年开发,作为增强的 Python 解释器。2011 年,以 IPython Notebook 的形式推出了基于 Web 的 IPython 终端界面。2014 年,Jupyter 项目作为 IPython 的衍生项目启动。

Jupyter 项目下的软件包包括 -

  • Jupyter Notebook - Python、Julia、R 等编程环境的基于 Web 的界面

  • QtConsole - 基于 Qt 的 Jupyter 内核终端,类似于 IPython

  • nbviewer - 共享 Jupyter 笔记本的工具

  • JupyterLab - 适用于所有产品的基于现代网络的集成界面。

Python 的标准发行版附带了一个带有>>>提示符的 Python shell 形式的REPL(读取-评估-打印循环)环境。IPython(代表交互式 Python)是一种增强的 Python 交互式环境,与标准 Python shell 相比具有许多功能。

IPython的特点

与标准 Python 相比,IPython 提供了更多功能。它们如下 -

  • 提供强大的交互式 Python shell。

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

  • 具有对象内省能力。自省是在运行时检查对象属性的能力。

  • 语法突出显示。

  • 存储交互历史记录。

  • 关键字、变量和函数名称的制表符补全。

  • 神奇的命令系统对于控制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 版本

计算笔记本的概念始于 80 年代 MATLAB 和 Mathematica 发布时。这些交互式 shell 的 GUI 前端具有文本格式化、添加图形、表格和添加数学符号等功能。Sage 笔记本也是一款基于网络的笔记本。

IPython 的创建者于 2005 年开始致力于 IPython shell 的笔记本界面。IPython 笔记本很快就添加了对 R 和 Julia 等其他语言的支持。2014 年,Perez 启动了 Jupyter 项目,作为 IPython 的衍生项目,因为 IPython 项目随着笔记本服务器和 Qt 控制台等产品的加入而变得越来越大。

从 IPython 4.0 开始,所有附加组件都转移到了 Jupyter 项目,并向 IPython Notebook 添加了对其他语言的支持。IPython 继续专注于改进其增强的解释器功能。它还为 Jupyter 笔记本前端提供主内核。