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 命名,实际上是使用 Qt 框架 用 Python 编写的。
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 那样是一个完整的生态系统。 它没有插件架构(除了是开源的并且因此本质上是可破解的),它的主要目标是避免妨碍您,除非帮助跟踪您的代码。

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

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 编辑器和集成开发环境的列表很长。 以下是一些其他有趣的亮点。
- PyScripter、 LeoEditor 和 PTK (Python 工具包)是用于处理 Python 代码的工具。 当然还有 IDLE,它是 Python 附带的默认 IDE。
- Geany、 Atom 和 Brackets 是通用的代码编辑器,通过插件提供 Python 支持。
- Netbeans 和 VS Codium 是开源通用 IDE,与 Eclipse 类似,可以通过选定的插件和扩展转换为 Python 编辑器。
- 大多数可扩展的代码编辑器都可能具有 Python 支持。 例如,如果您知道要使用哪些包和配置,Emacs 可以成为功能齐全的 Python IDE。 KDE 编辑器 Kate 默认具有语法突出显示、代码折叠和项目目录支持,以及进一步的扩展来提供帮助。
关于 Python IDE 或 Python 编辑器,需要理解的重要一点是,最佳选择是能够解决问题的选择。 如果您对选项和配置感到不知所措,那么选择轻量级和简单的 IDE 或文本编辑器可能是合适的。 如果您想要一些东西来帮助您编写更简洁的代码,减少错误,那么具有缓存和 linting 功能的功能丰富的编辑器可能会更好地为您服务。 尝试一下这里列出的一些,或者您自己找到的一些,看看哪个适合您。 毕竟,开源的优势之一就是选择。
这不是 Python 编辑解决方案的完整列表。 有关(几乎)完整的列表,请查看 Python 基金会的 Python 集成开发环境 和 编辑器 列表。 我们遗漏了您最喜欢的吗? 请在下面的评论中告诉我们它是什么,并告诉我们为什么它是您的首选。
本文最初于 2015 年 10 月发布,并已更新以包含更多信息。
您有兴趣阅读更多类似的文章吗? 注册我们的 每周电子邮件新闻通讯。
47 条评论