为了方便,我会分两个大类去说明,一类是适用于软件开发的比较通用的编辑器或 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 ,最后重启软件就可以了。

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

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

Sublime Text

分类: 代码编辑器

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

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

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

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

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

Atom

分类: 代码编辑器

地址: https://atom.io/

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

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

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

GNU Emacs

分类: 代码编辑器

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

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

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

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

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

VI/VIM

分类: 代码编辑器

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

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

选择原因:你了解 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 点击安装然后重启编辑器就搞定。

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

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

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

PyCharm

分类: IDE

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

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

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

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

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

Spyder

分类: IDE

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

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

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

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

Thonny

分类: IDE

地址: http://thonny.org

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

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

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

所以,哪一个比较适合你

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

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

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

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

Python 开发的 IDE 和代码编辑器,你选择的哪一个?的更多相关文章

  1. atitit js 开发工具 ide的代码结构显示(func list) outline总结

    atitit js 开发工具 ide的代码结构显示(func list) outline总结 eclips环境::4.3.1 #-------需要一个js开发工具,可以显示outline或者代码结构显 ...

  2. odoo开发环境搭建(四):python开发工具IDE pycharm配置

    odoo开发环境搭建(四):python开发工具IDE pycharm配置

  3. 将Komodo Edit打造成Python开发的IDE

    Komodo Edit 支持Python 界面清爽, 将Komodo Edit 设置成Python的IDE,具体操作方法如下: 先添加自定义命令. 再设置命令行参数 设置高级选项 设置快捷键 完成.

  4. python 开发工具IDE pycharm的破解版安装

    打开终端 cd /etc 命令行输入 sudo vim hosts 输入mac密码 输入i,进入编辑模式(注意在英文状态下书写) 粘贴0.0.0.0 account.jetbrains.com到文件最 ...

  5. python开发最受欢迎的十款工具

    python开发最受欢迎的十款工具 dreamyla3个月前 今天小编给正在学习python开发的朋友介绍十款最受欢迎的开发工具,因为在学习python开发过程中少不了IDE或者代码编辑器,想要提高开 ...

  6. Python开发环境搭建指导

    本文主要介绍Python开发环境的搭建.主要包括如下几部分内容: (1)Python软件的安装.注意版本的选择和安装过程中选项的勾选. (2)pip工具环境变量.镜像源的配置使用和常用镜像源介绍.pi ...

  7. Python 开发工具和框架安装

    引言: 其实之前对于 Python,只是知道有这门语言而已.大部分还是使用 .net 开发的,之前也学了 MVC+EF 开发,但是由于工作上完全用不到,也就没有在博客记录学习的东西了. 最近又接触到了 ...

  8. 如何让VB6代码编辑器垂直滚动条随鼠标滚轮滚动

    VB6毕竟是很老的产品了,它的代码编辑器垂直滚动条并不能随鼠标的滚轮而滚动,这个问题会让我们在编写代码的时候觉得很不方便,不过还是有一种方法可以解决这个问题的.    先下载一个微软发布的“VB6ID ...

  9. Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)

    Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...

随机推荐

  1. 【转】Python数据类型之“文本序列(Text Sequence)”

    [转]Python数据类型之“文本序列(Text Sequence)” Python中的文本序列类型 Python中的文本数据由str对象或字符串进行处理. 1.字符串 字符串是Unicode码值的不 ...

  2. MK64FN1M0xxx12_flash.ld链接文件解析

    1.前言 本文主要对MK64FN1M0xxx12_flash.ld文件进行分析,以此来加深对链接文件的理解 2.文件详解 /* ** ################################# ...

  3. python 大全

    python 大全:https://awesome-python.com/ 生产 GUI 应用的库 :PyQt ,PySide , 不错   (https://kivy.org)kivy - A li ...

  4. Web QQ 协议 登录加密算法 —— VC++实现

    BOOL ToHexStr(const CHAR * lpStr, int nSrcLen, CHAR * lpHex, int nDestLen) { const CHAR cHexTable[]  ...

  5. 第三章 Models详解

    摘自:http://www.cnblogs.com/xdotnet/archive/2012/03/07/aspnet_mvc40_validate.html Model的概念 万丈高楼平地起,先理解 ...

  6. git与eclipse集成之clone远程仓库到本地

    1. Git与Eclipse集成 1.1. Clone远程仓库到本地 1.1.1.        获取远程仓库地址(选择北京,访问速度比深圳快) 1.1.2.        将远程仓库导入到Eclip ...

  7. ansible笔记(12):handlers的用法

    ansible笔记():handlers的用法 这篇文章会介绍playbook中handlers的用法. 在开始介绍之前,我们先来描述一个工作场景: 当我们修改了某些程序的配置文件以后,有可能需要重启 ...

  8. OpenStack实践系列⑥构建虚拟机实例

    OpenStack实践系列⑥构建虚拟机实例 四.创建一台虚拟机图解网络,并创建一个真实的桥接网络 创建一个单一扁平网络(名字:flat),网络类型为flat,网络适共享的(share),网络提供者:p ...

  9. UVA 1395 MST

    给你一个图, 求一个生成树, 边权Max – Min 要最小,输出最小值, 不能构成生成树的 输出 -1: 思路: Keuksal 算法, 先排序边, 然后枚举 第一条边, 往后加入边, 直到有 n- ...

  10. python之numpy包知识要点总结

    一.简介 numpy主要是用来存储和处理大型矩阵,提供了一种存储单一数据类型的多维数组对象------ndarray.还提供了多种运算函数,能够完成数据计算和统计分析,是数据分析的重要工具包. 二.数 ...