Top 5 开源 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 之间的界限并不总是很清楚。 随着您经验的积累,您通常会对您认为对您的开发需求至关重要的功能形成意见,甚至这些功能有时取决于您正在从事的项目。

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

Eric

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

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

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

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

Eric 在 GPL version 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 Public License 下可用。

 

其他出色的选择

开源 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 基金会的 集成开发环境编辑器 列表(针对 Python)。 我们是否遗漏了您最喜欢的? 请在下面的评论中告诉我们它是什么,并告诉我们为什么它是您的首选。

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

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

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

47 条评论

您错过了一个重要的 IDE,即 Wing IDE (https://wingware.com/),它是一个用 Python 本身编写的商业 IDE。 它的免费版本 Wing IDE 101 功能非常有限,但似乎非常适合想要一些 IDE 便利性但又不想被完整功能集淹没的初学者程序员。

我一直在 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 over 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),可以在编写代码时进行代码检查。内置的 git 集成很有帮助。最好的是可定制性。

这就是未来。就这么简单。

我非常支持开源 - 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 的区别在于它是“专有的”。这与自由和开源相反,后者可以是(并且通常是)非常商业化的。

题外话:这条蛇我猜是森蚺(anaconda),而不是蟒蛇(python)。

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

对我来说是 Visual Studio Code。当与 IPython 一起设置为 REPL 并配备良好的代码检查器时,它既非常强大,又轻巧且非常易于配置。

我完全同意,并且有了新的扩展 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 的精彩帖子。使用带有 pycharm ide 的 Selenium 进行自动化。

Creative Commons 许可协议本作品根据 Creative Commons 署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.