顶级 5 个开源 Python IDE

当谈到 Python 编程时,您有很多优秀的集成开发环境可供选择。
1 位读者喜欢这篇文章。
Programming keyboard.

Opensource.com

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

它也恰好是我最喜欢的编程语言之一。 就我个人而言,多年来 Python 一直是我的首选语言,从大学的课堂项目到帮助我自动化重复性任务的小脚本,我都会使用 Python。 它是为数不多的几种语言之一,对于初学者来说很容易上手,但当初学者开始从事实际项目时,它又非常强大。

 

 

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

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

以下是一些 Python 开发者可用的最受欢迎的选择。 所有这些都是跨平台的,因此可以在您选择的操作系统上使用。

Eric

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

Eric 使用 Scintilla,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

The 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 编辑的简单且相对轻量级的选择。

 

Eclipse 与 PyDev

如果不介绍 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 编辑器和集成开发环境的列表很长。 以下是其他一些有趣的突出选项。

  • PyScripterLeoEditor 和 PTK (Python 工具包) 是用于处理 Python 代码的工具。 当然还有 IDLE,它是 Python 捆绑的默认 IDE。
  • GeanyAtom 和 Brackets 是通用代码编辑器,通过插件提供 Python 支持。
  • Netbeans 和 VS 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 也有免费版本。

您在事后才提到“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 的速度。他很年轻。他所有的青少年朋友都用 Sublime。我想他们喜欢的是速度。他似乎认为 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

我使用 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 也很好。

对于更大的项目,我想我会使用 Kdevelop 及其 Python 插件。

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

我的老师告诉我们使用 Jupyter Notebook。它不是 IDE,但它很容易使用。

我使用 Emacs,但我也尝试过 Ninja IDE。非常不错,跨平台,开源。

我试用了 Ninja-ide,它看起来确实不错。新的 Fedora Python spin 使用它。但是,它的开发似乎已经停止了。他们的 IRC 频道似乎不活跃,他们的 Telegram 群组也像鬼城一样。它存在问题,因为它没有迁移到 Qt5,而 Qt4 现在被认为是遗留技术,支持正在逐渐消失。最近一次重要的提交似乎是几年前。最新版本的 Debian 和 Ubuntu 将不支持它,因为他们正在放弃对 Qt4 库的支持。它令人印象深刻,但我希望开发能够重新开始,将其升级到 Qt5。

开发已经重新激活了 :)

回复 ,评论者是 Mowestusa (未验证)

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

ninja-ide!

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

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

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

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

我在 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 获得许可。
© 2025 open-source.net.cn. All rights reserved.