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 或文本编辑器可能是合适的。如果您想要一些东西来帮助您编写更干净的代码,减少错误,那么具有缓存和代码检查的功能丰富的编辑器可能更适合您。尝试一下这里列出的,或者您自己找到的,看看哪个适合您。毕竟,开源的优势之一是选择。
这不是 Python 编辑解决方案的完整列表。对于一个(几乎)完整的列表,请查看 Python 基金会的 集成开发环境 和 编辑器 列表。我们错过了您最喜欢的吗?请在下面的评论中告诉我们它是什么,并告诉我们为什么它是您的首选。
本文最初于 2015 年 10 月发布,并已更新以包含更多信息。
您有兴趣阅读更多类似的文章吗?注册我们的 每周电子邮件新闻通讯。
47 条评论