Python科学计算和绘图的IDE有哪些?

22

我目前在我的科学计算和绘图中使用R,但我想探索Python。我一直在使用RStudio作为R的IDE,它作为一个IDE完全满足了我对于科学计算、数值分析、数据分析和可视化的所有需求。是否有类似于Python的东西呢?基本上是语法高亮、代码补全、智能缩进、直接从源编辑器执行代码、IDE内绘图和版本控制(git)。


7
这个问题非常具体,我认为不需要关闭它。 - aIKid
@aIKid,它仍然归结为:“有人可以推荐另一种替代品吗?” - Jon Clements
3
@JonClements 未来对其他人来说可能会非常有用。也许没有那么多人,而且我认为这不会吸引广告或垃圾邮件。 - aIKid
@aIKid 尽管如此,正如所示 - 没有明确的答案 - 我们已经从其他帖子中得到了一系列建议... 叹气 - Jon Clements
4
@JonClements 这对于初学者来说非常有帮助。 - ECII
4个回答

24

我强烈建议您安装完整的科学Python发行版,例如AnacondaEnthought Python,其中包含所有科学需要的软件包(numpy、scipy、matplotlib、numba、pandas等)。

对于科学计算,使用IPython而不是python是事实上的标准。它是一个改进的python解释器,具有包括缩进、自动完成、历史记录、高性能计算等功能。

对于您的IDE,类似Matlab的,您基本上只有一个选择:Spyder(带有基本的git支持)。其他IDE更漂亮,但它们缺少检查数据集的工具。Spyder直接运行一个IPython会话,稍后可以使用其他工具进行编辑。

另一个IPython笔记本(现在称为Jupyter),这是一个非常强大的工具,特别是如果您想使用Latex代码记录您的代码。您的IPython会话被嵌入并直接可转移给他人,易于版本控制。

您还可以在笔记本中直接运行交互式演示,这是展示结果的好方法。将其视为研究的未来,在其中您的结果是交互式的。任何可以下载笔记本的人都将运行完全相同的实验。

请查看已经存在的多个示例:

IPython笔记本示例

如果您不喜欢在浏览器中工作,我建议使用以下设置:

  • Anaconda(带有科学软件包的Python发行版)

  • Sublime Text 3(轻量级代码编辑器)与SublimeREPLSublimeIPythonNotebook一起使用

  • IPython Qt控制台(内嵌绘图、自动完成、保存会话、保存数据集等)

请记住所有的IPython前端(IPython console、IPython QtConsole、IPython Notebook、SublimeREPL等)都可以连接到同一个IPython核心实例。

因此,您可以根据需要轻松混合使用不同的工具(编写文档、编写科学内容、代码、演示文稿)。

一个IPython核心带你玩转所有!:-)


1
你能详细说明一下如何将不同的工具与相同的IPython实例连接起来吗?我特别想了解SublimeREPL。 - AdamAL
如果你正在寻找一个IDE来工作,那么学会如何同时使用Vim和Tmux也可以是另一个解决方案。 - Bryson S.
现在是2023年,Spyder对我来说仍然是最好的! - feedMe

5
你可以尝试使用Spyder,它是一个多平台、易于使用的工具,提供语法高亮和交互式调试等功能。但你仍需依赖库,如matplotlibNumPy,如果你处理大量数字,则IDE本身可能不足够好用。

还有其他类似项目,如Python(x,y)WinPython(仅限Windows),旨在促进/简化Python用于科学和工程软件开发。


2

首先选择任何支持语法高亮、代码补全、智能缩进、源代码编辑器直接执行的IDE。现在许多IDE都支持这些功能。如果您不确定,请参考SO问题“Python使用哪个IDE?”

  • 接下来,探索matplotlib以满足您的绘图需求。
  • 然后,无论您选择了哪个IDE,请搜索一个git插件。如果您选择的IDE没有该插件,请从具有必要git插件的IDE列表中选择另一个。
  • 安装必要的包,如Numpy / Scipy / Sympy。请参考链接“Numeric and Scientific”

注意:考虑到Eclipse具有对git(EGit)的支持,并且您不会遇到集成matplotlib的问题,因此Eclipse与PyDev可能可行。实际上,还有一个专门用于通过Eclipse PyDev进行交互式matplotlib的SO线程

最后,如果您想在开发易用性方面牺牲PyCharm或PyDev,Scientific Python可能是一个不错的选择。


@Kikohs:我从未将Scipy提及为一个集成开发环境。请再次阅读答案。该答案是编写的,以使用户能够使用默认Python安装创建任何合适的IDE,用于科学计算。 - Abhijit

1

我怀疑这可能是 这个 或者 这个 问题的部分重复。到目前为止,我被推荐了 IDLE、PyCharm、PHPStorm、Spyder、PyDev、Aptana、Wing、IPython 和 DreamPie。虽然我还没有尝试过所有工具,但 Spyder 表现得很好。总体而言,我发现 Enthought Python Distribution 最好,因为它已经包含了 Scipy、Numpy 和其他关键的包,以及 Spyder IDE。完整的软件包是商业版的(学术界免费),但也有 免费版本


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接