用于科学计算的Python发行版和环境

2024-04-18 02:50:11 发布

您现在位置:Python中文网/ 问答频道 /正文

如果这个问题太宽泛的话,我先道歉。我来自MATLAB世界,对Python的经验相对较少。

在花了一些时间阅读了一些基于Python的科学计算环境和发行版之后,我觉得我仍然不完全理解解决方案的前景,也不完全理解一些著名软件包之间的精确关系,包括:

更具体地说:

  • 上述软件包是否提供类似的功能?它们是互补的吗?
  • 它们的安装是否包括或要求安装 其他人?如果有的话,哪些包括或要求哪些?

更不重要的是,是否还有其他类似的包提供类似的功能?

提前谢谢


Tags: 功能环境关系时间世界scipy经验解决方案
3条回答

使用Python的科学计算采用了一种普通的语言,并在一堆模块上进行了移植,每个模块都实现了MATLAB功能的某些方面。因此,使用Python科学编程的经验是有点不确定的c.f.MATLAB。然而,Python作为一种语言要干净得多。就这样。

Python中科学计算所必需的基本模块是NumpyMatplotlibSciPy,如果您正在进行3d绘图,那么Mayavi/VTK。这些模块都依赖于Numpy。

Numpy实现了一种新的数组类型,其行为类似于MATLAB数组(即快速向量计算)。它还定义了执行这些计算的函数负载,这些计算通常与MATLAB中的类似函数命名相同。

Matplotlib允许使用与MATLAB非常相似的命令进行二维绘图。Matplotlib还定义了pylab,它是一个模块,只需一次导入,就可以将大部分Numpy和Matplotlib函数引入全局名称空间。这对于不希望键入大量名称空间前缀的快速/交互式脚本非常有用。

SciPy是排列在SciPy伞下的Python模块的集合,对科学家很有用。装配程序在SciPy模块中提供。纽比是西皮的一部分。

Spyder是一个桌面IDE(基于QT),它试图松散地模拟MatlabIDE。它是Python XY发行版的一部分。

IPython提供了一个增强的交互式Python shell,可用于尝试代码、运行脚本和与结果交互。它现在可以服务于web界面和传统控制台。它也嵌入到Spyder IDE中。

分配

让所有这些模块在您的计算机上运行可能会非常耗时,因此有一些发行版可以为您打包它们(加上许多其他模块)。

Python XYWinPythonenthough和最近的Anaconda都是包含所有核心模块的完整包发行版,尽管enthough并不随Spyder一起提供。

Sage是另一个通过web或命令行提供服务的编程环境,也是一个包含许多其他模块的完整包。传统上,它是一个基于Linux安装的VMWare映像。尽管您是在Sage环境中编写Python,但它与普通的Python编程有点不同,它定义了自己的语言和基于Python的方法。

如果你使用Windows,我会安装WinPython。它可以安装您需要的所有东西,包括Scipy和Spyder(这是Python IMHO的最佳替代品),并且因为它是独立的,所以不会干扰您系统上的其他Python安装。如果你在OSX上,热情可能是最好的方式去-Spyder可以单独安装使用例如MacPorts。对于Linux,可以分别安装组件(Numpy、SciPy、Spyder、Matplotlib)。

我个人不喜欢用“隐藏在引擎盖下”的方式处理Python,但您可能更喜欢这样。

关于这个问题不那么重要的部分:

  • Anaconda是另一个值得注意的全弗莱德分布(类似于热情和圣人)与伊普顿,斯皮德。。。它还让您可以轻松地切换python版本/环境。
  • PyCharm是另一个值得注意的IDE,我倾向于使用它。

此链接可能有用:https://www.cfa.harvard.edu/~ebresser/python/

这是哈佛大学天体物理学家的一页。它给出了在OS-X上从ITT-VIS IDL切换到python的观点(但大多数技巧也适用于其他操作系统)。

编辑:该页似乎已被删除。对于科学家/工程师来说,python的另一个很好的介绍是在本文中(大PDF警告):http://stsdas.stsci.edu/perry/pydatatut.pdf 希望这个不会被拿下来!

相关问题 更多 >