ipython :交互式计算系统

更新时间:2024-09-20 23:33

IPython(交互式Python)是一个交互式计算系统,基于Python编写,支持多种编程语言。其主要特性包括增强的交互式Shell、解耦的双过程通信模型、交互式并行计算架构、自动补全等。IPython是NumFOCUS财务赞助的项目。

软件简介

IPython 是一个 Python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。IPython 是基于BSD 开源的。IPython 为交互式计算提供了一个丰富的架构,包含:

• 强大的交互式 shell

• Jupyter 内核

• 交互式的数据可视化工具

• 灵活、可嵌入的解释器

• 易于使用,高性能的并行计算工具

IPython的并行计算功能原本是其核心特性之一,但自IPython 4.0版本起,这一功能被分离为ipyparallel包,以便更好地与其他成熟的并行计算库如Dask协同工作。IPython的并行计算支持多种并行性风格,如单程序多数据(SPMD)并行性、多程序多数据(MPMD)并行性、消息传递接口(MPI)、任务并行性、数据并行性等。

IPython经常与SciPy堆栈库(如NumPy和SciPy)一起使用,尤其是在与Jupyter笔记本结合时,可以产生内联图形。此外,IPython支持丰富的对象显示,允许Python库实现特定的挂钩以自定义对象的显示方式,例如SymPy可以在IPython中呈现为LaTeX格式的数学表达式,pandas dataframe则使用HTML表示。

IPython 5.x系列是最后一个支持Python 2的版本,自6.x系列起,IPython仅支持Python 3及以上版本。尽管如此,IPython内核和Jupyter笔记本服务器仍然可以在不同版本的Python上运行,保证了对Python 2的访问。

2014年,IPython的笔记本界面和其他与语言无关的部分被移至Jupyter项目,Jupyter支持包括Julia、Python和R在内的多种编程语言。Jupyter Notebook是一个基于Web的交互式计算环境,支持数十种语言的执行环境。IPython曾在流行的计算出版物和其他流行媒体中提到,并且在科学会议上有一定的影响。对于科学和工程工作,它通常被认为是Matplotlib的一个伴侣工具。

功能与服务

IPython 允许与 Tkinter、PyGTK、PyQt/PySide 和 wxPython 进行无阻塞交互(标准 Python shell 只允许与 Tkinter 交互)。IPython 可以使用异步状态回调和/或 MPI 以交互方式管理并行计算集群。IPython 也可以用作系统外壳的替代品。它的默认行为很大程度上类似于 Unix shell,但它允许自定义和在实时 Python 环境中执行代码的灵活性。

获得荣誉

自2013年起,IPython获得了多项资助和奖项,包括阿尔弗雷德·P·斯隆基金会、微软的捐赠,以及自由软件基金会的自由软件进步奖。2014年,IPython在Dr. Dobb's的编码工具类别中获得了Jolt生产力奖。2015年,该项目获得了来自戈登和贝蒂·摩尔基金会、阿尔弗雷德·P·斯隆基金会和利昂娜·M·和哈里·B·赫尔姆斯利慈善信托基金会的600万美元资助。2018年,它获得了2017年ACM软件系统奖,这是获得该奖项的最大团队。

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: