Python 是一门简单易学,同时又十分强大的编程语言。特别是随着人工智能的热潮,Python作为AI开发的首选语言,已经是技术人员的必备技能。
在学习和开发的过程当中,一款趁手的编辑器/IDE犹如神兵利器,必能让使用者效率飞升,事半功倍。
这里列举一些常用的编辑器/IDE,按照dwSun认为的推荐度排序。
没得说,Python自带的IDE,装好Python之后直接就有,也是绝大多数人首次使用的IDE。
第一款推荐的是一个比较小众的IDE,但是绝对值得尝试,因为这货对标的是matlab,有matlab使用经验的朋友肯定对matlab的IDE印象深刻。而spyder的界面也跟matlab的极其相似,变量空间,命令行,代码区,文件区一应俱全,特别是命令区直接支持ipython,可以跟编辑器里面的代码直接交互。
JetBrains出品的IDE,没错就是那个在java开发领域用IntelliJ IDEA干死了Eclipse的JetBrains。PyCharm支持包括但不限于debug、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。相当多的使用者反映PyCharm极其趁手,特别是从Java领域转过来的亲们。
注意这个不是Jupyter Notebook,据官方的说法,JupyterLab是Jupyter Notebook的下一代产品,两者在文件格式等方面是兼容的。dwSun的使用经验,两者在处理ipynb上是完全一样的。但是jupyterlab支持命令行等,而且文件浏览也更方便,比起notebook侧重展示和交互,jupyterlab更像一个功能完整的IDE了。
dwSun自己已经完全用JupyterLab替换了Jupyter Notebook。
同Jupyter一样,Jupyter也可以通过插件扩展其功能,详细内容参考这里:https://jupyterlab.readthedocs.io/en/latest/user/extensions.html
优点:全兼容Jupyter Notebook,可以在线使用命令行,文件组织更方便,功能更强大。代码提示等也更加智能。
缺点:JupyterLab的生态还在不断建设当中,目前看上去JupyterLab的插件可能不像Jupyter那么精致,而且需要先安装node。
注意事项:跟Jupyter Notebook的插件系统完全不兼容,如果你的ipynb格式内使用了一些扩展插件,那么在JupyterLab上渲染可能有问题。同时JupyterLab的插件需要NodeJs的支持,这一点对一些新手不太友好。
Jupyter及iPython项目的产物,数据科学首选,着重于展示和交互,号称可以运行的PPT。
Jupyter系列的IDE不是专门针对Python语言的,也可以运行R等语言。
缺点:代码碎片化严重,文件管理功能比较弱,不太适合大型项目。默认的代码提示和高亮不太人性化。
注意事项:因为是基于Web的,所以编辑的文件处理的数据等全部都是在Jupyter的host机器上,不是在浏览器所在的本地。插件用起来方便,但是配置比较复杂,不太适合新手折腾。
Atom就不用说了,github官方出品的编辑器,一帮大牛们合作的产品,值得期待。dwSun自己用的也是Atom。
这里介绍的是python的编辑器/IDE,atom自身的python支持还是比较弱的,所以需要通过一些插件增强其功能,这里介绍两个我自己在用的插件。
nteract参考jupyter实现的一个功能强大的交互式编辑器,可以直接在编辑器里面运行代码并查看结果,像jupyter一样。
Atom的另一个扩展,跟facebook出品的Atom-IDE配合使用,是一个比较完整的IDE。
微软提供的,基于Atom定制的编辑器,相比与原生Atom,添加了很多方便的功能,性能有了极大的优化提升。插件生态庞大而丰富。
出现比较早的一个万能编辑器,功能强大,插件丰富。
最强大的编辑器/IDE,不解释。
与VIM排名不分前后,仅根据字母顺序。
最强大的编辑器/IDE,不解释。
与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。
posted on 2019-02-13 12:50 dwSun 阅读(...) 评论(...) 编辑 收藏