IPython - 简介

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

Jupyter 项目下的包有 −

  • Jupyter notebook − Python、Julia、R 和许多其他编程环境的基于 Web 的界面

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

  • 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 版本

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

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

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