五大开源 Python IDE

在 Python 编程方面,您有很多出色的集成开发环境可供选择。
1 位读者喜欢这篇文章。
Programming keyboard.

Opensource.com

Python 无处不在。如今,它似乎为从主要网站到桌面实用程序再到企业软件的一切提供动力。Python 已被用于编写所有或部分流行的软件项目,如 dnf/yum、OpenStack、OpenShot、Blender、Calibre,甚至最初的 BitTorrent 客户端。

它也是我最喜欢的编程语言之一。就我个人而言,多年来,Python 一直是我首选的语言,从大学的课堂项目到帮助我自动化重复性任务的小型脚本。它是为数不多的既易于初学者入门,又在初学者开始从事实际项目时功能非常强大的语言之一。

 

 

要编辑 Python 程序,您有很多选择。有些人喜欢基本的文本编辑器,如 Emacs、Vim 或 Gedit,所有这些编辑器都可以通过语法高亮和自动完成等功能进行扩展。但是,许多处理具有复杂代码库的大型项目的高级用户更喜欢集成开发环境 (IDE),而不是文本编辑器加终端的组合。IDE 本质上是一个文本编辑器,但具有许多附加功能,有时特定于一到两种编程语言,以帮助程序员跟踪整个项目。例如,大多数 IDE 都会缓存类名、函数名和变量名,以便可以快速自动完成它们。其他 IDE 具有调试工具、即时逻辑和错误检查等功能。

高级文本编辑器和轻量级 IDE 之间的界限并不总是很清楚。随着经验的积累,您通常会对您认为对您的开发需求至关重要的功能形成看法,甚至这些功能有时也取决于您正在处理的项目。

以下是一些 Python 开发人员可用的最流行选项。所有这些都是跨平台的,因此可以在您选择的操作系统上使用。

Eric

Eric 是 Python 编辑的常用 IDE。Eric 以 Monty Python 的 Eric Idle 命名,实际上是用 Python 使用 Qt 框架 编写的。

Eric 使用了 Scintilla,这是一个源代码编辑组件,用于许多不同的 IDE 和编辑器中,并且也可以作为独立的 SciTE 编辑器使用。

Eric 的功能与其他 IDE 类似:大括号匹配、代码完成、类浏览器、集成单元测试等等。它还具有 Qt 窗体预览功能,如果您正在为您的应用程序开发 Qt GUI,这将非常有用。我个人喜欢集成的任务列表功能。

如果您是 IDE 概念的新手,则可能需要一些时间才能掌握 Eric,您可能会质疑学习仅针对 Python 的 IDE 是否值得投入时间。我发现 Eric 是一个出色的、轻量级的、但功能齐全的编程环境,学习它可以帮助提高您的代码质量,并让您熟悉所有 IDE 通用的约定。

Eric 在 GPL 第 3 版 下可用。

 

Pyzo

Pyzo 是一个基于 Qt 的编辑器,带有内置的文件浏览器、项目概述、日志、调试器、缩进跟踪器等等。它认为自己是 MATLAB 的替代品,尽管实际上它是一个适用于任何 Python 项目的有用编辑器,而不仅仅是那些处理高级数学和科学的项目。

由于它是使用 Qt 构建的,因此您的工作区是高度可配置的。您可以移动面板以适应您的工作流程,或模拟您习惯的特定 IDE 布局。根据您想要在您面前显示的信息来显示和隐藏工具面板的能力可能是一种帮助自己集中注意力的有用方法,并且由于您可以将几乎每个选项分配给特定的按键组合,因此您可以保持 Pyzo 编辑器的流畅性和动态性。

Pyzo 是一个简单的 IDE,它不像 Eclipse 那样是一个完整的生态系统。它没有插件架构(除了是开源的并且因此本质上是可破解的),它的主要目标是不要妨碍您,除非帮助跟踪您的代码。

 

Screenshot of Pyzo Python IDE

Spyder

Spyder IDE,像 Pyzo 一样,以数据科学家为目标受众。与 Pyzo 不同,Spyder 是一个真正独立的集成环境。它是一个大型、复杂且功能丰富的应用程序,带有面板来显示渲染的数据、代码输出、日志、历史记录等等。它可以单独下载,也可以与 Anaconda 发行版捆绑下载,Anaconda 发行版是 Python 和 R 程序员常用的流行编程工具包。

 

Screenshot of Spyder Python IDE

opensource.com

PyCharm

PyCharm 是另一个流行的 Python 编辑器。PyCharm 有两个版本,PyCharm 的免费和开源版本是 社区版,在 Apache 2.0 许可下可用。

PyCharm 几乎具备人们对 IDE 的所有期望:集成单元测试、代码检查、集成版本控制、代码重构工具、各种项目导航工具,以及您对任何 IDE 期望的突出显示和自动完成功能。

对我来说,PyCharm 的主要缺点是它的 开放核心 模式。PyCharm 的许多高级功能在开源许可证下不可用,对我来说,这是一个决定性因素。但是,如果您不打算使用闭源版本中包含的高级功能,那么排除的功能可能会使 PyCharm 成为 Python 编辑的简单且相对轻量级的选择。

 

带有 PyDev 的 Eclipse

如果不介绍 Eclipse,就很难写出任何关于开源集成开发环境的文章,Eclipse 拥有庞大的开发者社区和无数可用的插件,允许您自定义它以满足您能想到的几乎任何需求。但是,这种大杂烩的方法也是 Eclipse 的缺点之一。根据您的要求,它可能显得臃肿或过于复杂。

也就是说,如果您是从另一种语言(尤其是 Java)背景转到 Python 的,那么 Eclipse 可能已经是一个熟悉的 IDE。如果您使用了它的许多功能,您可能会发现没有它们的生活很困难。即使您是编程新手,Eclipse 也可以是一个很棒的入门 IDE,因为一旦您学会了它,您很可能可以将其用于您从事的大部分或所有其他工作,而与语言无关。

PyDev 为 Eclipse 添加了大量功能,远远超出了简单的代码高亮显示。它可以处理代码完成、集成 Python 调试、添加标记浏览器、重构工具等等。如果您正在使用流行的 Django Python Web 框架,那么您可以利用 PyDev 创建新的 Django 项目、使用热键执行 Django 操作以及使用特定于 Django 的单独运行配置。

Eclipse 和 PyDev 都在 Eclipse 公共许可证 下可用。

 

其他出色的选项

开源 Python 编辑器和集成开发环境的列表很长。以下是一些其他有趣的杰出代表。

  • PyScripterLeoEditorPTK (Python 工具包) 是用于处理 Python 代码的工具。当然还有 IDLE,它是 Python 附带的默认 IDE。
  • GeanyAtomBrackets 是通用代码编辑器,通过插件提供 Python 支持。
  • NetbeansVS Codium 是开源通用 IDE,与 Eclipse 类似,可以通过选定的插件和扩展转换为 Python 编辑器。
  • 大多数可扩展的代码编辑器都可能具有 Python 支持。例如,如果您知道要使用哪些软件包和配置,Emacs 可以成为功能齐全的 Python IDE。KDE 编辑器 Kate 默认具有语法高亮、代码折叠和项目目录支持,以及进一步的扩展来提供帮助。

关于 Python IDE 或 Python 编辑器,重要的是要理解,最佳选择是解决问题的选择。如果您被选项和配置淹没,那么选择轻量级且简单的 IDE 或文本编辑器可能是合适的。如果您想要一些东西来帮助您编写更简洁、错误更少的代码,那么具有缓存和 linting 功能的功能丰富的编辑器可能会更好地为您服务。尝试此处列出的一些编辑器,或您自己找到的编辑器,看看哪一个适合您。毕竟,开源的优势之一是选择

这不是 Python 编辑解决方案的完整列表。有关(几乎)完整的列表,请查看 Python 基金会的 集成开发环境编辑器 列表。我们遗漏了您最喜欢的吗?请在下面的评论中告诉我们它是什么,并告诉我们为什么它是您的首选。

本文最初于 2015 年 10 月发布,并已更新以包含更多信息。

您是否有兴趣阅读更多类似的文章?注册我们的 每周电子邮件新闻通讯

标签
Jason Baker
前红帽员工。现在是顾问和有抱负的企业家。地图爱好者、创客,以及开源桌面和自托管软件的热情安装者。
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,通常同时进行。

47 条评论

您错过的一个大的是 Wing IDE (https://wingware.com/),这是一个用 Python 本身编写的商业 IDE。它的免费版本 Wing IDE 101 在功能上非常有限,但对于想要一些 IDE 的便利而又不会被完整功能集淹没的初学者来说,似乎非常合适。

嗨,Rörd,我很熟悉 Wing,但据我所知,免费版也不是开源的。

回复 ,作者:Rörd Hinrichsen (未验证)

我一直在 Visual Studio 中使用 Python 工具,并且非常喜欢它。Visual Studio 也有免费版本。

再次投票给 Visual Studio Code,它是 GitHub Atom 的一个分支...

回复 ,作者:Ricky Brundritt (未验证)

您以事后诸葛亮的方式提到“Bluefish 和 Geany 是两个出色的通用 IDE,具有强大的 Python 支持。”。

另一方面,您忽略了提及它们两者(尤其是 geany)都非常轻巧,可以在非常广泛的操作系统上运行,并且没有有问题的许可条款。考虑到带有 PyDev 的 Eclipse“臃肿,并且在低配置系统上的性能肯定会成为问题”(引述您自己的话!),这些 Python IDE 的轻量级尤其重要。

我目前正在使用 Geany 并喜欢它。我喜欢它的速度和低资源占用。它非常流畅。Geany 通常是一个出色的 IDE,它被低估了。

话虽如此,我确实认为编辑器或 IDE 的轻量级和高性能方面对某些人很重要,但并非对所有人都是如此。

就我而言,我开始使用 Geany 的主要原因是因为我正在教一个年幼的孩子在 Raspberry Pi 上使用 X Display Forwarding 通过 ssh 将 IDE 显示到另一台 Linux 机器上进行编程。我担心孩子(10 岁)会对控制台中的 vi 甚至 Emacs 感到困惑。即使使用带有 X Display Forwarding 的 Emacs 似乎也不是正确的选择,因为 Emacs 快捷键正在逐渐失宠(我已经使用了 Emacs 二十年,并且勉强承认这一点)。我尝试了 NinjaIDE,但通过 ssh 和 X Forwarding 的性能不佳(来自 Raspberry Pi)。

以前,我的女儿一直在使用 PyCharm Professional,但两个月前已转移到 Atom,因为它的界面不那么杂乱,因此在某些方面不那么令人困惑。我的儿子,她的哥哥,变得不守规矩并转移到 Sublime。他喜欢速度。他很年轻。他所有的青少年朋友都使用 Sublime。我认为他们喜欢速度。他似乎在 UI 方面对 Atom 给予了认可,但喜欢 sublime 的速度。

当我的女儿不在 Raspberry Pi 上工作时,她的主要工作站非常快。它有 30GB 内存、4.5Ghz 四核 i5、快速 SSD 磁盘。大多数 IDE 在主系统上的性能都很好,并且在她这个级别不是一个考虑因素。

虽然 IDE 资源消耗很重要,但它对某些人来说更重要,并且根据使用情况(如网络使用)或设备(如在低资源 Raspberry Pi 上运行)也更重要。

回复 ,作者:dan (未验证)

我尝试使用其他工具,但我仍然会回退到使用 gVim。

感谢您再次为我的学习做出贡献。我使用过 gedit 和 idle3 编辑器。我都很喜欢它们,但在 Udemy.com 上学习 Python 课程时更多地使用 idle3。

Continuum 的 Anaconda 或 Enthought Canopy 算吗?我更喜欢前者作为我首选的 Python 环境。

Anaconda 使用 Spyder 作为其 IDE。

回复 ,作者:Naveen Srivatsav (未验证)

Spyder 是我迄今为止最喜欢的 Python IDE。

我唯一更喜欢的是 gedit。

这是一篇很棒的文章,来得正是时候。我刚刚开始学习 Python,部分是为了挑战,部分是因为我认为它将帮助我调整 Blender。

我一直在使用 atom.io 来帮助我完成这项工作,但在阅读本文后,我可能会尝试更多!谢谢。

如果您刚刚入门,可以尝试 Komodo Edit。它是免费且开源的。它已经存在很长时间了,并且经常更新。还有一个具有更多功能的付费 IDE,称为 Komodo IDE。在此处下载 Edit,让我知道您对它的看法。http://komodoide.com/komodo-edit/

回复 ,作者:dncnmckn

我正要提到这两个。
我已经有一段时间没有使用它们了,但它们非常好,特别是 IDE,即使不是完全 FOSS。

回复 ,作者:codetricity

我使用 Atom 和一些不错的 python 插件。例如 Linter(带有 flake8),用于随时 lint 代码。内置 git 集成帮助很大。最好的是可定制性。

这就是未来。简单来说。

是的,atom 是 Python 的一个非常好的选择

回复 ,作者:adityaultra (未验证)

我是一位开源的坚定支持者 - vim 很棒,我一直都在使用它,但是每当我处理大型项目时,我都会使用 PyCharm(我购买了许可证,对我来说,这是值得的)。

我有 PyCharm Professional 的商业许可证,也为我的十几岁的儿子购买了许可证。我们都使用了多年。他购买了 Sublime 的许可证,我开始使用 Atom。Atom 和插件的开发速度非常惊人。我仍然每天使用 vi 来处理小型任务,并且已经使用了 Emacs 20 年(我老了)。我没想到我会喜欢 Atom,但是添加插件的简易性真的很酷。语法高亮、检查、git 集成、代码完成都非常好。与 PyCharm 相比,在 Atom 中似乎更容易避免使用鼠标。

话虽如此,我只是意识到我最近只在做小型代码项目。在写这篇文章时,我现在想知道是否有一个特定大小的项目,PyCharm 的优势开始显现。可能存在一定数量的模块和文件,在这些模块和文件中,每个编辑器都是首选的。

示例
vi:配置文件、单文件项目、少于几行代码的较短文件
atom:少量文件,每个文件最多一千行
pycharm:十几个或更多文件

回复 ,作者:Xander (未验证)

嗨,Don,

请考虑包括 Komodo Edit:免费、开源、多语言且基于 Python
http://komodoide.com/komodo-edit/

谢谢!

我将 Emacs 用于我所有的 Python 和 Django 项目。从未遇到任何问题。当扩展 python-jedi、python-django 和 magit 时,它可以成为 Python 的强大而最酷的 IDE。

当然,PyCharm FTW

Visual Studio Code ftw,我已经使用它和 Python 一段时间了,我再也无法回顾其他任何东西了。但是,当我在一台不属于我的 PC 上时,IDLE 有时是最佳选择,哈哈。

我投票了“其他”,我不是程序员,但我懂编程,而且我非常喜欢 python。我是 $dayjob 的系统管理员。

我主要使用 mcedit 进行简单的 python(或其他)编程,但多年来尝试过几种 python IDE 和编辑器。

我非常喜欢 Ninja-IDE。
Komodo Edit 和 Komodo IDE 也很好。

对于更大的项目,我想我会使用带有 python 插件的 Kdevelop。

我很想尝试 Atom,但它太大了!而且我很懒 :)

我的老师告诉我们使用 jupyter notebook。它不是 IDE,但它易于使用。

我使用 Emacs,但我涉猎 Ninja IDE。非常不错,跨平台,开源。

我查看了 Ninja-ide,它看起来确实不错。新的 Fedora Python spin 使用它。但是,看起来开发已经停止。他们的 irc 频道似乎不活跃,他们的 telegram 群组是一座鬼城。它存在问题,因为它尚未迁移到 Qt5,而 Qt4 现在被认为是旧版,支持正在逐渐减少。最近一次意义重大的提交似乎是在几年前。最新版本的 Debian 和 Ubuntu 将不支持它,因为他们正在放弃对 Qt4 库的支持。它令人印象深刻,但我希望开发能够重新启动以将其引入 Qt5。

我非常喜欢 Pyzo。我从没见过有人推荐它。我非常肯定这是因为没人知道它,所以它永远不会被列为选项。它非常流畅和简单。

ninja-ide!

初学者应该查看 Thonny:http://thonny.org

它在动画化程序运行时行为方面具有强大的功能。

请记住,Jason,像 PyCharm 这样的软件可能是商业化的,但它与其他您提到的编辑器/IDE 的区别在于它是“专有的”。这与自由和开源相反,后者可以是(而且通常是)非常商业化的。

OT:这条蛇是水蟒,我猜,而不是蟒蛇。

我在 anaconda-navigator 上使用 Spyder
非常有用

Visual Studio Code 对我来说。当与 IPython 一起设置为 REPL 并具有良好的 linter 时,它在轻量级且非常易于配置的同时,功能非常强大。

我完全同意,并且随着新的扩展 intellicode(它基本上是用于 Python 语言的人工智能增强型 IntelliSense),它甚至更好。

回复 ,作者:Alex Ioannides

我是一名物理专业的学生,所以我偏爱 spyder 编辑器,因为它作为 anaconda 的一部分预装了各种数据和数组好东西。它工作得非常好,并且没有那种简陋的感觉。

Monkey Studio,我过去常常使用 SPE(不再开发),但 Monkey Studio 面向 QT,我的所有 GUI 应用程序都使用 QT

试试这个新的。这很棒。儿童友好。https://codewith.mu/

我认为 Python IDE 可用的选项列表非常棒。我是老派,认为 IDLE 仍然是最好的工具。它速度快,开销低。

我一直在使用 PyDev,它带有大量功能。我一直将它与 Selenium 一起用于自动化。

学习 Selenium Java TestNG 教程,请访问 stqatools.com

Emacs 和 vim 是我的最爱

Wing 也是很棒的 Python IDE

感谢您的精彩阅读!我同意您对文本编辑器的看法——其中一些确实可以像 IDE 一样工作,尤其是在项目较小或您不介意自定义的情况下。本文提供了 Python IDE 和代码编辑器的精彩列表,我认为这为该主题增加了一个有趣的视角。查看一下:https://stxnext.com/blog/2020/01/29/best-python-ides-code-editors/

我一直在寻找这个很长时间了,从这个网站获得这么多信息肯定是一件好事。

关于 Python IDES 的精彩帖子。将 Selenium 与 pycharm ide 一起用于自动化。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.