Python 开发的 IDE 和代码编辑器,你选择的哪一个?

时间:2022-06-09 23:40:36

为了方便,我会分两个大类去说明,一类是适用于软件开发的比较通用的编辑器或 IDE ,我们可以通过插件等形式支持 Python 的开发,另一个是专注于 Python 开发的编辑器或 IDE 。

不过在此之前,我们需要明白 IDE 以及代码编辑器是什么

IDE ( Integrated Development Environment ) ,即集成开发环境。其实就是一个用于写程序的软件,里面集成了很多开发时常用的工具。比如,定制的代码编辑器(支持语法高亮、自动补全等等)、编译工具、执行工具、调试工具、版本控制工具等等。

大部分的 IDE 都支持很多种语言,并且包含的工具比上面列举出来的多很多,所以 IDE 安装文件基本上都比较大,需要花一定的时候去下载、去安装。另外,也要花费一定的精力去熟悉常用的工具。

相反的,一个代码编辑器相当于一个普通的文本编辑器,只不过能支持代码高亮、代码自动缩进等功能。大部分好的代码编辑器能执行代码、调试代码,也支持与版本控制软件的交互。与 IDE 相比,代码编辑器更轻量、更快,不过内置的工具会少很多。

Python 开发时,哪些功能是核心的

不管是 IDE 还是代码编辑器,支持的功能太多了,有很大一部分我们基本上用不到。那么,哪些是核心的呢?

保存以及重新加载文件

如果一个 IDE 或者编辑器没法保存当前的工作或者关闭后重新打开文件不能保持之前的状态,那这就不是一个合格的 IDE 或代码编辑器。

在当前工作台执行代码

如果我们执行一段代码还得离开编辑器,那这就真的只是一个编辑器了。

调试支持

能跟踪代码的执行状态,这是一个好的开发环境的基本条件,否则,当代码出现问题时,如果我们手动的一个一个地方输出中间信息,当碰到比较复杂的逻辑时我们会崩溃的。

代码高亮

有了代码高亮,会让我们阅读源代码时更方便。

代码智能格式化

比如,当我们输入 if 或者 while 关键字并在最后打上冒号时,编辑器应该知道下一行要缩进。

当然,你可能觉得好的开发环境应该要有更多的功能支持,版本控制、语言帮助等。不过,上面的点只是我觉得一个合格的代码编辑器 或 IDE 需要支持的核心功能。

大概清楚了一个开发环境所需的功能,我们先来看看比较通用的 IDE 和代码编辑器。

能够支持 Python 开发的通用的 IDE 和代码编辑器

Eclipse + PyDev

分类: IDE

地址: www.eclipse.org

支持 Python 开发的插件: PyDev ( www.pydev.org )

接触过 Java 开发的朋友肯定都用过 Eclipse 这个 IDE ,由于丰富的插件市场,使它的应用不仅仅是在 Java 开发上。这里 Python 开发也能使用,只要一个插件PyDev ,安装很简单,Help -> Eclipse Marketplace -> 搜索 PyDev -> 点击 install ,最后重启软件就可以了。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:如果你已经安装了 Eclipse ,那么要支持 Python 开发的花,安装一个插件就搞定。如果你之前有 Eclipse 的使用经验的话,开发 Python 起来也比较顺畅。

不选择原因:如果你刚接触 Python 开发或者软件开发,使用 Eclipse 的话需要一定的学习成本。

Sublime Text

分类: 代码编辑器

地址: http://www.sublimetext.com

这是一个谷歌的工程师开发的特别受欢迎的代码编辑器,各个平台都支持。内置有 Python 语言的支持,另外也有很多插件对内置的一些特性作了扩展,比如语法高亮等。

Sublime 的插件都是由 Python 编写的,部分插件安装有问题的话,需要自己手动输入 Python 代码进行安装,这使用起来可能会有点麻烦。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:Sublime Text 有很多人使用,有社区支持。另外,轻量,快。

不选择原因:不是免费的,虽说可以无限期的使用评估版本,但是经常的提示还是有些烦。当然,这在国内不重要 = = 。另外,安装部分插件可能比较麻烦,也不直接支持在编辑器里执行和调试代码。

Atom

分类: 代码编辑器

地址: https://atom.io/

基于 Electron 开发。Electron 可以简单的理解为使用 JavaScript 、Html 、Css 开发桌面应用程序的框架。所以说,Atom 各个平台都支持。如果用于 Python 开发的话,也是安装对应的插件就可以了。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:各个平台都支持,安装包小,下载、安装都比较快。

不选择原因:也不直接支持在编辑器内调试,但可以通过插件安装方式解决。另外,它是基于 Electron 开发的,不是原生的应用,相比 Sublime Text 等原生的软件速度上有一定劣势。

GNU Emacs

分类: 代码编辑器

地址: https://www.gnu.org/software/emacs/

现在我们有苹果系统与安卓的战争,之前有 Linux 系统与 Windows 系统的战争,再以前还有 PC 以及 Mac 的战争,在这更之前,还有编辑器之间的战争,GNU Emacs 便是这个战争中的一员。这个编辑器有着和 Unix 一样长的历史,并且拥有很多衷实的粉丝。

开源,在每个平台上都能使用。它使用 Lisp 语言进行自身的扩展,同样,对于 Python 开发,也有很多现成的自定义脚本可以使用。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:你了解 Emacs ,你使用 Emacs ,你喜欢 Emacs 。Lisp 是它的脚本语言,掌握了 Lisp 你能让 Emacs 做任何事情。

不选择原因:自定义配置意味着你要写 Lisp 脚本,如果没有现成的话,那你还得去学 Lisp 。另外,Emacs 上手门槛不低。

VI/VIM

分类: 代码编辑器

地址: https://www.vim.org/

在编辑器战争中的另一方就是 VI/VIM 。基本上所有的类 unix 系统都有安装它,比如 macOS 和 ubuntu 等等。它拥有同等数量的衷实的粉丝。VIM 是增强版,相比 VI ,很多功能都有不错的加强。它通过 VIMScript 进行配置,同样,对于开发 Python 所需的功能都有很多现成的配置(插件)。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:你了解 VI ,你使用 VI ,你喜欢 VI 。使用 VIMScript 你能定制任何你想要的。

不选择原因:和 Emacs 类似,VI 的学习门槛也不低。个性化的定制也得学习 VIMScript 。

Visual Studio

分类: IDE

地址: https://www.visualstudio.com/vs/

支持 Python 开发的插件: Python Tools for Visual Studio ( https://archive.codeplex.com/?p=pytools )

微软家的,内置有很多工具。不过只支持 Windows 以及 macOS 系统。通过安装 PTVS 插件,可以支持 Python 的开发。

选择原因:和 Eclipse 类似,如果你已经安装了 VS 用于其它方面的开发,那么安装一个插件很快、很简单。

不选择原因:也和 Eclipse 类似,下载、安装太浪费时间。另外,Linux 上还不支持。

Visual Studio Code

分类: 代码编辑器

地址: https://code.visualstudio.com/

支持 Python 开发的插件: https://marketplace.visualstudio.com/items?itemName=ms-python.python

不要和上面的 VS 搞混,VS Code 只是一个代码编辑器,它也是基于 Electron 开发,所以有着和 Atom 一样的优点和缺点。安装插件简单,搜索框里搜索 Python 点击安装然后重启编辑器就搞定。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:跨平台,开源,安装包虽小,但内置的工具却特别多。

不选择原因:与 Atom 类似,不是原生的应用。另外,存在部分人有不用微软产品的倾向。

专注于 Python 开发的 IDE 或编辑器

PyCharm

分类: IDE

地址: https://www.jetbrains.com/pycharm/

这应该是做的最好的一个专注于 Python 开发的 IDE ,有付费的专业版本与免费的社区版本,在 Windows 、macOS 或 Linux 下载一个安装包执行就能安装了,比较简单。

很多功能开箱即用,执行代码、调试、版本控制等等。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:一个专注于 Python 开发的 IDE ,拥有大量的插件以及社区的支持,编辑代码、执行代码、调试代码等功能开箱即用。

不选择原因:比较吃配置,加载费时较长。对于已有的项目,可能需要做一些额外的配置才能运行。

Spyder

分类: IDE

地址: https://github.com/spyder-ide/spyder

开源,针对数据科学作了一定的优化。和其它 Python IDE 相比有一个很大的特点,就是可以用表格的形式查看数据,有点 Matlab 的感觉,如果你是做数据相关的,我相信你一定会喜欢上这个 IDE 。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:你是做数据科学方面的开发。

不选择原因:对于有经验的开发者来说,Spyder 提供的功能太基础了,他们选择功能更强的 IDE 或者定制编辑器的方法来满足自己的需要。

Thonny

分类: IDE

地址: http://thonny.org

号称是为 Python 初学者设计的编辑器,也是跨平台的。自带有特定版本的 Python ,默认会一起安装,所以不需要做另外的事情 ,你就可以直接着手开发了。当然,如果是有经验的开发者,他会更改这个默认行为,使用已有的 Python 环境进行开发。

Python 开发的 IDE 和代码编辑器,你选择的哪一个?

选择原因:你是一个初学者,你想安装一个 IDE 就能开始学习、开始写代码。

不选择原因:对于有经验的开发者来说,thonny 的功能太基础了,并且做了一些多余的事情。另外,这个 IDE 出来时间不长,可能会碰到一些没有现成解决方案的问题。

所以,哪一个比较适合你

当然,只有你自己才能决定,下面有几个原则可以供你参考

* Python 初学者尽量选择能开箱即用的 IDE ,需要自定义的地方越少,就越好。前期,重心放在语言学习上,更有成就感。

* 如果你经常使用编辑器做其它的工作,比如写文档等,那么使用代码编辑器的方案或许更好。

* 如果你之前在做其它方面的开发,那么通过插件或者其它方式使你现在的工具集支持 Python 开发,这会让你开发更顺畅。