Python的应用无处不在,各种流行软件都有Python的身影。相比起最流行的Java、C/C++等语言,Python语言更加简洁,开发更加快速,这对于初学者非常友好,而且Python作为脚本语言,更适合开发小型应用,极其适合在应用开发初期时用来做原型 。
本文为刚开始学习 Python 的小白到专家都提供了适合使用的 Python IDE。当然优秀的项目还有很多,本文仅选取其中的 7 款,您也可以在评论区写下最喜欢的一款以供其他开发者学习和交流。
Eric
Eric是一个用Python编写的全功能的Python编辑器和IDE。它基于跨平台的Qt GUI工具包,集成了高度灵活的Scintilla编辑器控件。它被设计成处理日常琐碎杂事的编辑器,同样也是具有许多 python为专业编码人员提供的前卫功能专业项目管理工具。eric包含一个插件系统,它允许通过从网络下载的插件轻松扩展IDE功能。
当前稳定版本eric6基于PyQt5 / 4(Qt5 / 4)和Python 3或Python 2开发的。
Wing IDE
WingIDE 是个相当优秀的 IDE;其编辑器包括大量语言的语法标签高亮显示,虽然它只是个面向 Python 的工具。源代码浏览器对浏览项目或模块非常实用(表现在可导航源代码和文档行摘要中)。虽然没有监视器,但调试器设计得很好。编辑器有优秀的命令自动完成和函数跳转列表,但是没有代码合并。
面向项目风格的 IDE 对于大型产品非常有用(在这方面,除了 Komodo 以外,它是大多免费 IDE 中较好的)。总体的界面就像增强的 Idle,使用了与许多 TK 和 XWindow 界面类似的“多窗口”排列方式。我喜欢使用对接和嵌入(这方面,并不是过多使用 MS Visual Studio 造成的),但不同的开发人员可能喜欢不同风格的窗体。WingIDE 是个很有前途的开发环境。
Ninja-IDE
A Real Python IDE 真正的Python-IDE开发环境 NINJA-IDE的名字来至于“Ninja-IDE Is Not Just Another IDE”,它是一个多系统下的专业Python程序设计开发环境 NINJA-IDE使得开发Python软件变得更加简单,得益于它的丰富的可扩展性使得它可以适用于几乎所有的情况 类似QTDesigner的界面,可自定义 安装环境 2.5<=Python Version<=2.7.1 pyQT>=4.6 PyGments>=1.0 Rope>=0.9.2
PyCharm
PyCharm是由JetBrains打造的一款Python IDE。我们知道,VS2010的重构插件Resharper就是出自JetBrains之手。而PyCharm用于一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython!
gEcrit
gEcrit 是一个 Python 集成开发工具,简单易用,快速且轻量级。功能包括:代码缩进、代码行数显示、代码折叠、语法高亮、shell访问、代码自动完成、程序运行、源码浏览、指南、自动保存等功能。
Visual Studio Code
Visual Studio Code 是一个运行于 OS X,Windows 和 Linux 之上的,针对于编写现代 web 和云应用的跨平台编辑器。
Python开发人员有一堆Visual Studio代码扩展,但最流行、最容易、最重要的是Don Jayamanne的扩展。 它与每一个最新版本的Python保持同步,它集成了所有你想要的好东西的支持:代码片段,代码linting,自动完成,与科学工具集成如Jupyter,重构,单元测试,调试等等。
Github Atom
Atom 是 Github 专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。
另外推荐5个Python机器学习集成开发环境
集成开发环境(IDE)是提供给程序员和开发者的一种基本应用,用来编写和测试软件。一般而言,IDE 由一个编辑器,一个编译器(或称之为解释器),和一个调试器组成,通常能够通过 GUI(图形界面)来操作。
根据维基百科的描述:“Python 是一种广泛使用的高级的、通用的、解释的、动态编程语言。” Python 是一种相当古老且流行的语言,它是开源的,常被应用于网站开发(利用 Django、Flask 等框架)、科学统计计算(NumPy、SciPy 等库可以帮助计算)、软件开发等甚至更多。
文本编辑器不足以用来构建一些大型的系统,比如那些需要整合模块和库的系统。这时则需要一个好的 IDE。
下面是一些 PythonIDE,这些 IDE 各有特点,能够帮助你挑选到合适的来解决你的机器学习问题——
JuPyter/IPython Notebook
Jupyter 项目开始于 2014 年,在所有编程语言中,是一种用于支撑科学计算和交互式计算科学的衍生式 IPython。
IPython Notebook 表示” IPython 3.x 是 IPython 的最后一个版本。而 IPython4.0 中非语言相关的部分比如记事本格式,消息协议,笔记本网站应用等,已经移到了Jupyter下作为新项目,IPython将专注于交互式Python,在此期间,也将为 Jupyter 提供 Python 核心模块”。
Jupyter 由三个组件构成:笔记本应用程序、内核、笔记本文件。
其核心特点:
- 开源。
- 支撑 30 种语言,包括一些数据科学领域很流行的语言,如 Python、R、scala、Julia 等。
- 允许用户创建和共享文件,文件中可以包括公式、图像以及重要的代码。
- 拥有交互式组件,可以编程输出视频、图像、LaTaX。不仅如此,交互式组件能够用来实时可视化和操作数据。
- 它也可以利用 scala、python、R 整合大数据工具,如 Apache 的 spark。用户能够拿到和 pandas、scikit-learn、ggplot2、dplyr 等库内部相同的数据。
- markdown 标记语言能够代码标注,用户能够将逻辑和思考写在笔记本中,这和python内部注释部分不同。
Jupyter 笔记本的用途包括数据清洗、数据转换、统计建模和机器学习。
在像 matplotlib、NumPy、Pandas 等库里整合了机器学习的一些特性。Jupyter 笔记本有一个最重要的特性就是它能够用图显示单元代码的输出。
在 Google、微软、IBM 等公司它很流行,另外一些教育机构如加州大学伯克利分校和密歇根州立大学也经常用。
PyCharm
PyCharm 由一家位于捷克-布拉格的公司JetBrains所开发。它的测试版在 2010 年 7 月发布,1.0 版本在三个月以后也就是 2010 年 10 月发布。
PyCharm 是一款有十足特性的专业的PythonIDE。共有两个版本:PyCharm 社区版,是免费的,另一款是专业版,有30天的免费试用期。
PyCharm 在一些大公司诸如惠普、Pinterest、推特、Symantec、Groupon 等大公司十分流行。
其核心特点:
- 它能对类、对象、关键字的补全和自动缩进,能格式化代码,定制代码片段和格式。
- 支持错误的突出显示,同时也包含 PEP-8,能帮助写出整洁的代码,易于支撑其他语言。
- 它提供快速和安全的重构功能。
- 它带有一个图形界面式的 Python/JavaScript 调试器。用户能够基于 GUI 来测试。
- 它有一个快速的文档定义视图,能在不丢失上下文的情况下看到文档或对象的定义。同时 Jetbrain 提供的文档十分全面,还包含视频教程。
当然。最重要的一个特性就是它对 Scikit-learn, Matplotlib, Numpy, Pandas等机器学习库的支持。
在 Matplotlib 交互模式可以运行在 Python 或者是调试的控制台上,用户可以实时进行画图,组织。
另外,用户能够根据自己的项目定义不同的 python 环境(Python2.7、Python3.0、虚拟环境)。
Spyder
Spyder代表科学Python开发环境的缩写。Spyder 的作者是 Pierre Raybaut,在 2009.10.18 发布,Spyder 是用 python 写的。
其核心特点:
- 开源。
- 支持代码纠错,分析,补全,水平或垂直切分,跳转标记。
- 提供 Python 和 Ipython 控制台工作空间,支持实时调试。比如,你只要键入,它就能显示错误。
- 文档查看器,能够显示控制台上或编辑器中调用的类或者功能其相关文档。
- 它支持变量的预览,比如用户在图形界面操作数组文件的时候,能够同时浏览和编辑这些在执行期间产生的变量。
它整合了 NumPy, Scipy, Matplotlib 以及其他的科学统计库。在 NumPy, Scipy, Matplotlib 这些库的基础上,使用交互式控制台构建和测试数据统计应用或者脚本的时候,Spyder 是最好的。
除了这个,它也是一款机器简单,轻量级的软件,易于安装,有非常详细的文档。
Rodeo
Rodeo 是一款专门用于做机器学习和数据科学的 Python IDE。由 Yhat 开发,使用 IPython 的内核。
其核心特点:
- 便于浏览,比较,数据与图之间的交互操作。
- Rodeo 文本编辑器提供自动补全,语法高亮,且内置的 IPython 支持编码更快。
- Rodeo继承了 Python 教程,它包括一些速查表能够快速查询资料。
对于用习惯了 R 和 RStudio IDE 的研究人员和科学家来说,它很有用。
它有很多与 Spyder 相似的特性,但是它缺少了代码分析,PEP 8 等。也许未来会补充一些新的特性吧。
Geany
Geany 是一款有 C/C++ 开发的 Python IDE,作者是 Enrico Tröger。最早的版本在 2005 年 10 月 19 日,它是一个小而轻量级的IDE(Windows版本为 14M),但和其他任何一个 IDE 一样能胜任工作。
其核心特性:
- 支持语法高亮和行号标注。
- 代码自动补全,关闭括号,自动关闭 HTML 和 XML 标记的功能。
- 代码折叠和导航。
- 用户可以利用额外代码来在外部编译系统和执行代码。
对于那些熟悉 RStudio,想找寻 python 支持的用户。RStudio 已经为Python、XML、YAML、SQL 甚至 shell 都提供了编辑支持,即在 2014 年 6 月 18 日发布的 0.98.932 版本中。虽然相比于 R,Python 仅有一点支持。