快捷搜索:

Python的10大集成开发环境和代码编辑器(指南)

分享一篇文章,原文链接:Python IDEs and Code Editors (Guide)。

应用IDLE或者Python Shell来编写Python是异常得当于简单法度榜样的,然则这些对象每每将大年夜型的编程项目变成一个个充溢扫兴和沮丧的“坑”。应用一款集成开拓情况以致是一款好的专用的代码编辑器会让编程充溢乐趣,然则若何选择呢?

各位看官,不要惧怕,我们将在这里为您解释和揭开无数可供选择的神秘面纱。虽然我们无法抉择哪一款最得当于你和你的项目,然则我们会说明每一款的优毛病,赞助您作出最明智的抉择。

为了浅近易懂,我们将我们的对象清单分为两部分,一部分是专门用于Python开拓的专有对象,另一部分是我们可以用于Python开拓的一样平常对象。我们将为每一款对象列出“为什么是它”和“为什么不是它”(优毛病)。着末要说的是,他们之间并不互相排斥,以是您可以在险些无害的环境下自行考试测验。

然则,首先...

什么是集成开拓情况和代码编辑器?

集成开拓情况(IDE,Integrated Development Environment)是专用于软件开拓的法度榜样。顾名思义,IDE集成了几款专门为软件开拓而设计的对象。这些对象平日包括一个专门为了处置惩罚代码的编辑器(例如语法高亮和自动补全);构建、履行、调试对象和某种形式的源代码节制。

大年夜部分的集成开拓情况兼容多种编程说话并且包孕更多功能,是以一样平常来说体积较大年夜,必要光阴去下载和安装并且为了精确应用必要更高妙的常识。

比拟之下,一款特制的代码编辑器可以像带有语法高亮和代码款式化功能的文本编辑器一样简单。大年夜多半优秀的代码编辑器都可以履行代码和节制调试器,并且也可以和源码节制系统进行最好的交互。与集成开拓情况比拟,出色的专用代码编辑器每每体积更小更迅捷,但同时功能更少。

优秀Python编程情况的要求

是以在编程情况中什么是我们真正必要的呢?每个利用的功能各别,然则以下是使编程更轻易的核心功能:

保存和重载代码文件

假如一款集成开拓情况或者编辑器不容许你保存现有事情,并在之后从新打开时不能维持你脱离时的相同状态,那么它就不是什么集成开拓情况。

在情况内运行代码

类似的是,假如你必须退出编辑器来运行Python代码,那么它也便是一个通俗的文本编辑器。

支持调试

在法度榜样运行时支持慢慢运行代码是所有集成开拓情况和大年夜多半优秀代码编辑器必备的核心功能。

语法高亮

支持对代码中的关键词、变量和符号快速标识可以让涉猎和理解代码更为轻松。

自动弥补代码款式

任何一个惹人注目的编辑器或者集成开拓情况都邑在一个“while”或者“for”语句末尾识别冒号,并且知道下一行应该缩进。

当然还有许多你或许关注的其余功能,例如源码节制、扩展模型、构建和测试对象、说话赞助等等。然则以上所列4点是我觉得一个出色的编辑情况所必须具备的核心功能。

当我们斟酌了这些功能后,让我们首先来关注一些可用于Python开拓的通用对象。

支持Python的通用编辑器和集成开拓情况

Eclipse + PyDev

种别:集成开拓情况

网址:http://www.eclipse.org

Python对象:PyDev, http://www.pydev.org

假如你足够关注开源社区,那么你必然据说过Eclipse。Eclipse实际上是一款面向Java开拓的兼容Linux, Windows和OS X的集成开拓情况。它拥有富厚的插件和扩展功能市场,这使得Eclipse适用于各类各样的开拓项目。

此中一个插件便是PyDev,它支持Python调试、代码补全和交互式Python节制台。在Eclipse中安装PyDev异常便捷,只需从Eclipse中选择“Help”点击“Eclipse Marketplace”然后搜索PyDev。点击安装,需要的时刻重启Eclipse即可。

image

优点:假如你已经安装了Eclipse,安装PyDev是异常方便快捷的,对付资深Eclipse开拓者来说,PyDev是险些不必要另行进修的。

毛病:假如你只是一个Python初学者或者软件开拓小白,掌握Eclipse还有很长的路要走。记得我说过集成开拓情况每每体积较大年夜并且必要更多的常识去精确应用,那么Eclipse恰是如斯并且就像一袋子小芯片一样必要你一一懂得。

Sublime Text

种别:代码编辑器

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

Sublime Text是一款异常盛行的代码编辑器,其开拓者是一名谷歌的工程师,其贪图是使之成为更好的文本编辑器。Sublime Text支持Python代码编辑同时兼容所有平台,并且富厚的插件(称之为“包”)扩展了语法和编辑功能。

安装额外的Python扩展可能会对照棘手,Sublime Text中所有的包都是用Python写成的,并且安装社区扩展每每必要直接在Sublime Text中履行Python脚本。

image

优点:Sublime Text在编程社区内很受推重。单单从代码编辑器的角度来看,Sublime Text迅捷小巧并且具有优越的兼容性。

毛病:只管你可以无限日的应用测试版本然则Sublime Text不是免费软件。在Sublime Text中安装扩展插件可能会对照棘手,别的并不支持直接在编辑器内部履行或调试代码。

为了充分使用Sublime Text设置,你可以涉猎我们的Python+Sublime Text设置指南,或者不雅看我们更深层次的视频教授教化,这会赞助你在Sublime Text 3中建立一个高效的Python开拓情况。

Atom

种别:代码编辑器

网址:https://atom.io/

同样兼容所有平台的Atom被称为是“21世纪可破解的文本编辑器”。开源的Atom拥无意偶尔尚的界面、文件系统浏览器和扩展插件市场,它是应用Electron构建的,Electron应用JavaScript、HTML和CSS构建跨平台的桌面利用。Python说话由一款可在Atom运行时安装的扩展插件支持。

image

优点:得益于Electron,Atom广泛兼容各大年夜平台。同样Atom小巧且下载和载入都异常迅速。

毛病:内置并不支持构建和调试,这些功能是由社区供给支持的。同样因为Atom建立在Electron框架上,以是它始终运行在JavaScript进程中而不是作为本地利用运行。

GNU Emacs

种别:代码编辑器

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

让我们回到iPhone和Android之战前,在Linux和Windows的战斗之前以致是在PC和Mac的战斗前,有一场“编辑器之战”。而GNU Emacs便是战争中的一员。伴跟着狂热的追随,被称作“可扩展、可定制、自动记录、实时显示的编辑器”GNU Emacs险些不停缭绕在UNIX周围。

终生免费且兼容任何平台(以某种形式),GNU Emacs应用强大年夜的Lisp编程说话进行定制,并为Python开拓供给各类定制脚本。

image

优点:懂得了 Emacs,应用过 Emacs,你便会爱上 Emacs,Lisp作为第二说话,你清楚它给你的气力可以让你随心所欲。

毛病:定制化意味着向多种多样的脚本文件中编写(或复制粘贴)Lisp,假如没有他人供给,那么你必须去进修Lisp并且搞懂它是若何运行的。别的,Emacs是一款异常优秀的操作系统,假如它仅仅被算作一款优秀的文本编辑器....

请务必参考我们的Python + Emacs设置指南来进行设置。

VI/VIM

种别:代码编辑器

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

在文本编辑器疆场另一侧是VI(别名VIM),默认安装在险些每一个UNIX系统和Mac OS X系统中,VI有着同样的狂热追随。VI和VIM是一种模型编辑器,它将文本查看从文本编辑平分离。VIM在原始VI之上做了诸多改进,包括可扩展模型和就地代码构建。VIMScripts可用于各类Python开拓义务。

image

优点:懂得了VI,应用过 VI,你也会爱上 VI。VIMScripts并不会吓退你,并且你可以按你的意愿去做。

毛病:就像Emacs一样,你可能并不适应为了支持Python开拓情况自行查找或者撰写脚本,此外你可能并不清楚模型编辑器是若何事情的。别的,VI是一款不错的文本编辑器当且仅当它拥有一个出色的操作系统。

假如您要应用这种组合,请参阅我们的Python + VIM安装指南,我们将为您供给提示和插件建议。

Visual Studio

类型:集成开拓平台

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

Python对象:Python Tools for Visual Studio, 也称PTVS

与Eclipse进行多方面对照,由Microsoft建立的Visual Studio是一款全功能集成开拓平台。VS仅兼容Windows和Mac OS系统,它既供给了免费版(社区版)也供给了付费版(专业版和企业版)。VS支持各类平台的开拓,并且附带了自己的扩展插件市场。

Python Tools for Visual Studio (别名PTVS)实现了在VS中进行Python编程并且支持Python智能感知、调试和其他对象。

优点:就像Eclipse一样,假如你已经由于其他开拓法度榜样安装了VS那么添加PTVS时异常便捷的。

毛病:和Eclipse相同假如仅仅为了Python,那么VS是一个大年夜型下载义务。别的假如你是Linux系统,那你并不行运,由于VS并不支持Linux平台。

Visual Studio Code

种别:代码编辑器

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

Python对象:https://marketplace.visualstudio.com/items?itemName=ms-python.python

不要与完全版的VS肴杂,Visual Studio Code(也称作VS Code)是一款兼容Linux,Mac OS X和Windows 平台的全功能代码编辑器。麻雀虽小但五脏俱全,VS Code开源、可扩展并且可以对险些所有义务进行设置设置设备摆设摆设。就像Atom一样,VS Code建立在Electron根基之上,是以它具有相同的优点和毛病。

在VS Code中安装Python支持插件异常简单,它的市场是一个快速点击按钮。只必要搜索Python,点击安装然后需要的时刻从新启动,VS Code就会自动识别你的Python安装和库。

image

优点:同样归功于Electron,VS Code支持所有开拓平台,同样令人惊喜的是小巧的体格却蕴含了富厚的功能,同时它也是开源的。

毛病:Electron的应用意味着VS Code不是本地利用。别的,有些人可能从原则上并不应用Microsoft资本。

Python专用的编辑器和集成开拓情况

PyCharm

种别:集成开拓情况

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

PyCharm是最好的一个(也是独逐一个)专门面向于Python的全功能集成开拓情况。同样拥有付费版(专业版)和免费开源版(社区版),PyCharm不论是在Windows, Mac OS X系统中, 照样在Linux系统中都支持快速安装和应用。

开箱即用,PyCharm直接支持Python开拓情况,打开一个新的文件然后就可以开始编写代码。你也可以在PyCharm中直接运行和调试Python法度榜样,并且它支持源码治理和项目。

image

优点:这是真正的Python集成开拓情况,拥有浩繁便利和支持社区。它的编辑、运行和调试功能一切开箱即用。

毛病:PyCharm存在加载较慢的问题,别的对付已有的项目,默认设置可能必要调剂。

Spyder

种别:集成开拓情况

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

Spyder是一款为了数据科学事情流做了优化的开源Python集成开拓情况。它是附在Anaconda软件担保理器发行版中的,是以根据你的设置,或许你已经在机械中安装了Spyder。

Spyder惹人注目的一点是其目标受众是应用Python的数据科学家们。你必然会把稳到这一点,举个例子来说,Spyder很好的集成了一些诸如SciPy、NumPy和Matplotlib这样的公共Python数据科学库。

Spyder拥有大年夜部分你所等候的集成开拓情况该具备的功能,例如具备强大年夜语法高亮功能的代码编辑器,Python代码补全,以致是集成文件浏览器。

我从未在其他Python编辑情况中见过的一个特殊功能是Spyder的“变量浏览器”功能,它会以表格形式呈现在集成开拓情况界面右侧来展示数据。就我小我来说,虽然我并不十分必要这个功能,然则它看起来切实着实很整齐。假如你是一位日常用Python做数据科学事情的人,那你必然会深深爱上这个独特的功能。Spyder关于IPython或者说Jupyter的集成也做得异常好。

总之,我觉得Spyder比其他的集成开拓情况更基础,我更乐意把它看做是一款专业对象而不是我日常应用的编辑情况。关于Spyder对照优秀的一点是它兼容Windows、macOS和 Linux系统并且是一个完全开源软件。

image

优点:当你是应用Anaconda Python发行版的数据科学家时你会爱上它。

毛病:更有履历的Python开拓职员可能会感觉Spyder太基础了以至于不能支持逐日所需的基础事情,这样的话还不如选择一个更为完备的集成开拓情况或者定制编辑器办理规划。

Thonny

种别:集成开拓情况

网址:http://thonny.org/

作为Python集成开拓情况大年夜家庭中的新成员,Thonny被称作是针对新手的一款集成开拓情况。由爱沙尼亚塔尔图大年夜学的谋略机科学学院开拓并掩护的Thonny适用于整个主流平台,并且在网站上附有安装指南。

默认环境下,Thonny会和自带绑缚的Python版本一路安装,以是你不必要再安装什么新的器械。更有履历的熟手在行可能必要调剂这个设置以便找到和应用已安装的库。

image

优点:你是一名Python新人小白,并且统统就绪必要一款集成开拓情况的时刻你会选择它。

毛病:更有履历的Python熟手在行可能会感觉Thonny同样太根基了,并且其内置说冥器只是一个事情场合,而不是一个可以与之共事的对象。此外,作为一款新兴对象,你在碰到问题时很有可能发明没有现成的办理措施。

哪一个是为你量身定做的?

只有你自己可以抉择中意哪一款,然则照样有一些基础建议:

Python开拓新人应该考试测验越少定制化越好的办理规划,越少阻碍,越好

假如你将文本编辑器用于其他用途(如网页或文件编辑)那么查找代码编辑器规划。

假如你已经在应用其他开拓软件,你可能会发明将Python功能添加到现有对象集更轻易。

您可能还会对下面的文章感兴趣: