Python 开发的 IDE 和代码编辑器,你选择的哪一个?
为了方便,我会分两个大类去说明,一类是适用于软件开发的比较通用的编辑器或 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 和代码编辑器,你选择的哪一个?的更多相关文章
- atitit js 开发工具 ide的代码结构显示(func list) outline总结
atitit js 开发工具 ide的代码结构显示(func list) outline总结 eclips环境::4.3.1 #-------需要一个js开发工具,可以显示outline或者代码结构显 ...
- odoo开发环境搭建(四):python开发工具IDE pycharm配置
odoo开发环境搭建(四):python开发工具IDE pycharm配置
- 将Komodo Edit打造成Python开发的IDE
Komodo Edit 支持Python 界面清爽, 将Komodo Edit 设置成Python的IDE,具体操作方法如下: 先添加自定义命令. 再设置命令行参数 设置高级选项 设置快捷键 完成.
- python 开发工具IDE pycharm的破解版安装
打开终端 cd /etc 命令行输入 sudo vim hosts 输入mac密码 输入i,进入编辑模式(注意在英文状态下书写) 粘贴0.0.0.0 account.jetbrains.com到文件最 ...
- python开发最受欢迎的十款工具
python开发最受欢迎的十款工具 dreamyla3个月前 今天小编给正在学习python开发的朋友介绍十款最受欢迎的开发工具,因为在学习python开发过程中少不了IDE或者代码编辑器,想要提高开 ...
- Python开发环境搭建指导
本文主要介绍Python开发环境的搭建.主要包括如下几部分内容: (1)Python软件的安装.注意版本的选择和安装过程中选项的勾选. (2)pip工具环境变量.镜像源的配置使用和常用镜像源介绍.pi ...
- Python 开发工具和框架安装
引言: 其实之前对于 Python,只是知道有这门语言而已.大部分还是使用 .net 开发的,之前也学了 MVC+EF 开发,但是由于工作上完全用不到,也就没有在博客记录学习的东西了. 最近又接触到了 ...
- 如何让VB6代码编辑器垂直滚动条随鼠标滚轮滚动
VB6毕竟是很老的产品了,它的代码编辑器垂直滚动条并不能随鼠标的滚轮而滚动,这个问题会让我们在编写代码的时候觉得很不方便,不过还是有一种方法可以解决这个问题的. 先下载一个微软发布的“VB6ID ...
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...
随机推荐
- 【NLP CS224N笔记】Lecture 2 - Word Vector Representations: word2vec
I. Word meaning Meaning的定义有很多种,其中有: the idea that is represented by a word,phrase,etc. the idea that ...
- ovs常用操作
1.添加网桥:ovs-vsctl add-br 交换机名 2.删除网桥:ovs-vsctl del-br 交换机名 3.添加端口:ovs-vsctl add-port 交换机名 端口名(网卡名) 4. ...
- python 三大框架之一Flask入门
Flask轻量级框架,Flask是python中的轻量级框架. 打开终端 输入pip install Flask 命令 下载以及安装Flask框架 检查是否下载成功及能否使用 首先导入python环境 ...
- Oracle 服务器运行健康状况监控利器 Spotlight on Oracle 的安装与使用
1.使用教程;https://blog.csdn.net/defonds/article/details/52936664 2.下载链接:https://pan.baidu.com/s/1cn7tE_ ...
- 引入第三方SDK allowBackup value不一致引起的编译异常
项目中要引入一个客服的SDK,项目中 <application android:name=".AppApplication" android:allowBackup=&quo ...
- 手写代码注意点--java.lang.Math 相关
1-如果用到了Math的函数,需要手动写上: import java.lang.Math; 2-求x的y次方,用的是Math.pow(x,y); 注意,返回值是double!!! 不是int, 如果需 ...
- 【运维】Dell R710如何开启VT服务
[前言]: 英特尔的硬件辅助虚拟化技术(Virtualization Technology,简称VT技术)是一种设计更简单.实施更高效和可靠的方法. 如果想要在 ...
- SSH命令行管理文件
1.从服务器上下载文件 ssh root@13.111.122.133 2.从服务器上下载文件 scp username@servername:/path/filename /var/www/loca ...
- sumafan:python爬虫多线程爬取数据小练习(附答案)
抓取 https://www.cnbeta.com/ 首页中新闻内容页网址, 抓取内容例子: https://hot.cnbeta.com/articles/game/825125 将抓取下来的内容页 ...
- windows系统下简单nodejs安装及环境配置
相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置 相信 ...