IPython - 简介



Project Jupyter 是一套用于交互式计算的软件产品。IPython 最初由 Fernando Perez 于 2001 年开发,作为一种增强的 Python 解释器。2011 年推出了 IPython Notebook,它以 Web 界面形式提供了 IPython 终端。2014 年,Project Jupyter 从 IPython 中分离出来,成为一个独立项目。

Jupyter 项目下的软件包包括:

  • Jupyter Notebook - 一个基于 Web 的界面,用于 Python、Julia、R 等多种编程环境

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

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

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

IPython 的创建者于 2005 年开始开发 IPython Shell 的笔记本界面。IPython Notebook 很快增加了对其他语言(如 R 和 Julia)的支持。2014 年,Perez 将 Jupyter 项目从 IPython 中分离出来,因为 IPython 项目随着 Notebook 服务器和 Qt 控制台等产品的增加而变得越来越大。

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

广告