要编辑Python程序,程序员有许多选项。有些人喜欢基本的文本编辑器,如Emacs、VIM或Gedit,所有这些都可以通过语法高亮和自动填充等功能进行扩展。但是,大量使用复杂代码库的大型项目的程序员更喜欢将文本编辑器和终端组合的集成开发环境(IDE)。
Python是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。遗憾的是,它不能实现一些非常底层的操控,计算机工程师Damien George开发的Micro Python拥有自家的解析器、编译器、虚拟机和类库等,除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡、访问网络、访问蓝牙、读取传感器等。
2016年,Python软件基金会创建了MicroPython的BBC Micro Bit版本,作为其BBC Micro Bit合作伙伴贡献的一部分。
MicroPython是Python3的精简实现,并支持micro:bit。
MicroPython(http://micropython.org/)是Python 3编程语言的一个完整软件实现,用C语言编写,被优化于运行在微控制器之上。MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。MicroPython是澳大利亚程序员和物理学家Damien George,在2013年一次成功的Kickstarter众筹活动之后最初创建的,其初衷是用Python来控制单片机,实现对机器人的操控。2016年,Python软件基金会创建了MicroPython的BBC Micro Bit版本——micro:bit Python编辑器,作为其BBC Micro Bit合作伙伴贡献的一部分。
micro:bit Python编辑器(python.microbit.org)的2019年10月版带来了许多新功能和用户界面更改。
Mu(codewith.mu)是一个用Python编写的跨平台编辑器,它最初是为了micro:bit开发的,它只有最基本的核心功能,没有复杂的界面和设置,也没有各种各样的插件。是面向初学者提供支持micro:bit的离线应用(Windows, OSX 和 Linux)。
使用Mu的简单三步骤:
在发布micro:bit Python编辑器之前,Mu被官方推荐,并被认为可能是人们在BBC micro:bit上进行MicroPython编程最简单的方式。
Thonny是专为初学者设计的Python集成开发环境。它支持逐步执行代码的不同方式,逐步的表达式评估,调用堆栈的详细可视化以及用于解释引用和堆的概念的模式。
Thonny是最新的Raspbian系统中直接自带的Python IDE,支持Python3.7。与IDLE相比,Thonny还有一大堆更加强大的适合学习编程地特性,比如他的debug模式,在debug模式中可以逐行运行代码,同时可以看到所有对象或变量的状态
MicroPython IDE是VS Code(Visual Studio Code)的Micropython集成开发环境。
文本编辑器可以创建并修改无格式的文本文件。所有的桌面操作系统内置了一个基本的文本编辑器,如Windows的Notepad,Mac OS的TextEdit,以及Linux的Vi。
《Python编程:从入门到实践》推荐文本编辑器Geany。
Geany是一个使用GTK+工具包编写、有集成开发环境(IDE)基本特性的文件编辑器。它的目标是提供一个小型快速、依赖软件包较少的集成开发环境。Geany支持许多种程序设计语言,是一个全功能的编辑器。
Emacs和Vim号称是这个星球上最强大(以及第二强大)的文本编辑器。
Emacs,是一个文本编辑器家族,具有强大的可扩展性,在程序员和其他以技术工作为主的计算机用户中广受欢迎。最初由Richard Stallman于1975年在MIT协同盖伊·史提尔二世共同完成。在Unix文化里,Emacs是黑客们关于编辑器之战的两大主角之一,它的对手是vi(Vim)。
Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
IDE(Integrated Development Environment,集成开发环境)是带有软件开发功能的“集成开发环境”,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套件。
很难在开源集成开发环境中编写任何内容,而不需要覆盖Eclipse,它拥有庞大的开发者社区和无数插件,可让程序员自定义以满足任何需求,但这也是Eclipse的缺点之一。许多人批评它过于臃肿,低规格系统的表现肯定是一个问题。但如果你曾经是Java程序员,你应该对Eclipse非常熟悉,直接上手免去了很多麻烦。
PyDev向Eclipse添加了大量功能,远远超出了简单的代码突出显示。它处理代码完成,集成Python调试,添加令牌浏览器,重构工具等。对于那些使用Django Python web框架的人,PyDev将允许创建新的Django项目,通过热键执行Django操作,并为Django使用单独的运行配置。
Eclipse和PyDev都可以在Eclipse公共许可证下使用。
Eric以Monty Python的Eric Idle命名,Eric实际上是使用Qt框架在Python中编写的。Eric使用Scintilla,它是一个源代码编辑组件,用于许多不同的IDE和编辑器,也可以作为独立的SciTE编辑器使用。
Eric的功能与其他IDE类似:支持匹配,代码完成,类浏览器,集成单元测试等。它还具有Qt表单预览功能,如果为应用程序开发Qt GUI,这很有用。
可能会有人认为Eric不够好,社区提供的文档也不够清晰。如果你花时间去学习,会发现Eric是一个轻量级的全功能编程环境。
PyCharm是另一个受欢迎的Python编辑器,Pycharm是一种商业产品,但制造商还提供了一个根据Apache 2.0许可证免费开源的社区版本。
PyCharm几乎可以在IDE中提供一切程序员可能希望的功能:集成单元测试,代码检测,集成版本控制,代码重构工具,各种导航工具以及期望的突出显示和自动完成功能。
PyCharm的主要缺点是其开放的核心模式,许多PyCharm的高级功能在开源许可证下都不可用。然而,如果不想使用封闭源代码中包含的更高级功能,则遗漏的功能可能会使PyCharm成为一个轻量级Python编辑器。
编程人员还会经常提到Atom、Sublime、Komodo IDE及VS Code等。
《BEST PYTHON IDE AND CODE EDITORS | TOP 10》介绍了上表所列10种 Python 编程 IDE(集成编程环境),每一种的简介和特点。《哪种Python的IDE更适合你?》则额外介绍了Komodo、LiClipse、Visual Studio Code的Python扩展和Visual Studio的Python工具。
总结:Emacs / Vim / Eclipse+PyDev是强大且通用的解决方案;但 PyCharm、Spyder 和 VS Code 是业界最好的 Python IDE。