重要

此文档涵盖 IPython 6.0 及更高版本。从版本 6.0 开始,IPython 不再支持与低于 Python 3.3 的 Python 版本(包括所有版本的 Python 2.7)的兼容性。

如果您正在寻找与 Python 2.7 兼容的 IPython 版本,请使用 IPython 5.x LTS 版本并参考其文档(LTS 是长期支持版本)。

历史

起源

IPython 由 Fernando Perez 于 2001 年创立,当时他还是科罗拉多大学博尔德分校的研究生。我们今天所知的 IPython 发展自以下三个项目

  • Fernando Pérez 的 ipython。Fernando 开始使用 Python,而 ipython 最初源于他希望拥有类似 Mathematica 风格的提示符、访问之前的输出(再次类似于 Mathematica 的 % 语法)和灵活的配置系统(比 PYTHONSTARTUP 更好的东西)。

  • Janko Hauser 的 IPP。组织得非常好,可用性极佳。有一个旧的帮助系统。IPP 被用作“容器”代码,Fernando 在其中添加了 ipython 和 LazyPython 的功能。

  • Nathan Gray 的 LazyPython。简单但功能非常强大。快速语法(自动括号、自动引号)和详细/彩色回溯都取自这里。

以下是 Fernando 如何描述 IPython 的早期历史

当我了解到 IPP 和 LazyPython 时,我尝试将所有三个合并到一个统一的系统中。我认为这可以提供一个非常好的工作环境,既适用于常规编程,也适用于科学计算:类似于 shell 的功能、IDL/Matlab 数值、Mathematica 类型的提示符历史以及出色的对象内省和帮助工具。我认为它运行得相当不错,尽管它比我最初计划的要多得多。