dwSun带你选Python的编辑器/IDE

dwSun带你选Python的编辑器/IDE

Python 是一门简单易学,同时又十分强大的编程语言。特别是随着人工智能的热潮,Python做为AI开发的首选语言,已是技术人员的必备技能。html

在学习和开发的过程中,一款趁手的编辑器/IDE犹如神兵利器,必能让使用者效率飞升,事半功倍。java

这里列举一些经常使用的编辑器/IDE,按照dwSun认为的推荐度排序。python

IDLE

没得说,Python自带的IDE,装好Python以后直接就有,也是绝大多数人首次使用的IDE。git

  • 优势:安装方便,使用简单,基本的功能都有
  • 缺点:功能太少,语法高亮很差使,代码提示很糟糕
  • 注意事项:安装Python的时候,须要选择安装IDLE,若是没注意,可能就没有了。

spyder

Screenshot of Spyder's main window

第一款推荐的是一个比较小众的IDE,可是绝对值得尝试,由于这货对标的是matlab,有matlab使用经验的朋友确定对matlab的IDE印象深入。而spyder的界面也跟matlab的极其类似,变量空间,命令行,代码区,文件区包罗万象,特别是命令区直接支持ipython,能够跟编辑器里面的代码直接交互。github

  • 优势:功能强大而全面,对标matlab,图像绘制,数据分析等功能整合较方便。
  • 缺点:界面比较复杂,新手可能会无从下手。安装也比较复杂。偶尔会崩溃。
  • 注意事项:代码默认位置是一个临时目录。运行代码的时候,能够选择在哪一个kernel运行,不选的话默认重开一个。

PyCharm

PyCharm

JetBrains出品的IDE,没错就是那个在java开发领域用IntelliJ IDEA干死了Eclipse的JetBrains。PyCharm支持包括但不限于debug、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。至关多的使用者反映PyCharm极其趁手,特别是从Java领域转过来的亲们。编程

  • 优势:功能全面而强大,智能提示功能媲美Java的IDE。
  • 缺点:PyCharm自身是用Java写的,占用资源庞大,机器很差容易卡顿。适合Web项目等大型项目开发,对数据科学不是很友好。
  • 注意事项:整个IDE都是遵循Java的哲学,跟Python的套路不太同样。

JupyterLab

JupyterLab

注意这个不是Jupyter Notebook,据官方的说法,JupyterLab是Jupyter Notebook的下一代产品,二者在文件格式等方面是兼容的。dwSun的使用经验,二者在处理ipynb上是彻底同样的。可是jupyterlab支持命令行等,并且文件浏览也更方便,比起notebook侧重展现和交互,jupyterlab更像一个功能完整的IDE了。vim

  • 优势:全兼容Jupyter Notebook,能够在线使用命令行,文件组织更方便,功能更强大。
  • 缺点:即便发布已经有段时间了,整个生态仍是不太完整,没有太多可用的插件,使用上不太方便。
  • 注意事项:跟Jupyter Notebook的插件系统彻底不兼容,若是你的ipynb格式内使用了一些扩展插件,那么在JupyterLab上渲染可能有问题。

Jupyter Notebook

Jupyter

Jupyter及iPython项目的产物,数据科学首选,着重于展现和交互,号称能够运行的PPT。sublime-text

Jupyter系列的IDE不是专门针对Python语言的,也能够运行R等语言。python3.x

  • 优势:数据科学领域的标配及事实标准,不会用就out了。展现功能方便而强大,很是适合数据分析展现。强大的插件系统和功能丰富的插件生态。基于Web,能够远程使用。
  • 缺点:代码碎片化严重,文件管理功能比较弱,不太适合大型项目。默认的代码提示和高亮不太人性化。浏览器

  • 注意事项:由于是基于Web的,因此编辑的文件处理的数据等所有都是在Jupyter的host机器上,不是在浏览器所在的本地。插件用起来方便,可是配置比较复杂,不太适合新手折腾。

Atom

Atom就不用说了,github官方出品的编辑器,一帮大牛们合做的产品,值得期待。dwSun本身用的也是Atom。

这里介绍的是python的编辑器/IDE,atom自身的python支持仍是比较弱的,因此须要经过一些插件加强其功能,这里介绍两个我本身在用的插件。

  • 优势:github官方出品,功能丰富,插件生态庞大。
  • 缺点:配置较复杂,对新手不是很友好,默认安装以后,只能做为编辑器使用。资源占用有时候比较高,界面不是很流畅,对机器硬件配置要求较高。
  • 注意事项:虽然是GUI的程序,可是不少功能都要使用命令或编辑配置文件,对使用者要求较高。

Hydrogen

Hydrogen

nteract参考jupyter实现的一个功能强大的交互式编辑器,能够直接在编辑器里面运行代码并查看结果,像jupyter同样。

  • 优势:基本具有jupyter的所有功能,同时可使用atom的各类插件来完成代码提示,高亮等等,鱼与熊掌能够兼得。
  • 缺点:只能保存为py文件,任何中间运行结果不能保存,也不能解析ipynb文件,只适合临时使用,不太适合PPT展现等场景。
  • 注意事项:其后台使用的是跟Jupyter同样的iPython接口,也支持远程功能,因此远程功能编辑的文件,除了当前在编辑器里面的文件以外,其余引用的文件,数据等也都必须放在远程机器对应的执行目录下面。须要额外配置iPython kernel,参考文档进行配置便可。

ide python

ide python

Atom的另外一个扩展,跟facebook出品的Atom-IDE配合使用,是一个比较完整的IDE。

  • 优势:完整的python开发环境,包括debug功能,可使用atom其余插件提供的代码提示高亮等等。
  • 缺点:不是很成熟,后台使用python language server提供实时代码分析,性能不太好,常常卡顿。
  • 注意事项:python language server须要额外安装并配置。

VSCode

vsCode

微软提供的,基于Atom定制的编辑器,相比与原生Atom,添加了不少方便的功能,性能有了极大的优化提高。插件生态庞大而丰富。

  • 优势:微软官方出品,品质保证,功能丰富,使用方便。
  • 缺点:会搭配安装一些其余软件,微软一向风格。对新手不太友好。
  • 注意事项:vscode的插件是独立的生态,跟atom是不互通的。vscode定位是一个编辑器,跟vsstudio定位为一个IDE不一样。

Sublime Text

Sublime

出现比较早的一个万能编辑器,功能强大,插件丰富。

  • 优势:出现比较早,社区也比较庞大,有众多使用者。插件生态庞大丰富,各类功能包罗万象。
  • 缺点:因为历史遗留问题,包管理系统不是很完善,插件安装比较复杂。对新手很不友好。
  • 注意事项:收费的,虽然能够无限免费试用。

Emacs

最强大的编辑器/IDE,不解释。

  • 优势:要啥有啥
  • 缺点:啥都得本身折腾
  • 注意事项:热爱生活,珍爱生命,远离Emacs

与VIM排名不分先后,仅根据字母顺序。

VIM

最强大的编辑器/IDE,不解释。

  • 优势:要啥有啥
  • 缺点:啥都得本身折腾
  • 注意事项:热爱生活,珍爱生命,远离VI

与Emacs排名不分先后,仅根据字母顺序。

总结

  • 编辑器与IDE的区别,dwSun认为,带debug功能的为IDE,只有代码提示,语法高亮之类功能的为编辑器。可是如今不少先进的编辑器经过插件扩展,也能实现debug,本文不加以严格区分。

  • dwSun从事的更可能是数据分析,人工智能相关,所以这里给出的编辑器/IDE可能不适合Web开发人员。

  • 某些IDE我本身也没用过或者太复杂,这里不作推荐,更详细的列表请移步这里

  • python2.x系列正在被社区安乐死,dwSun已经彻底迁移到python3.x系列了,因此再也不介绍任何python2.x相关的东西。

  • 这里介绍的IDE基本都跨Linux/Mac/Win,可是我手里没有Mac,Win也懒得折腾,因此没有仔细验证。

  • 不少软件建议用anaconda安装,可是anaconda的安装包太大了,dwSun建议用miniconda安装,其安装包要小不少,可是功能跟anaconda彻底同样,只是初始不带那么多软件。

  • 编辑器/IDE不是功能越多越复杂越好,一开始选择一个趁手的用着就能够,随着经验阅历的提高,能够慢慢探索适合本身的编辑器/IDE,甚至本身开发一个。有的时候,你可能须要根据场景,配合几个不一样的编辑器/IDE一块儿用。

  • 工欲善其事,必先利其器。但工具只是工具,关注本身要作的事情才是关键。

  • 有些工具的安装配置等须要比较好的网络环境或者FQ。

相关文章
相关标签/搜索