python程序员常用的ide和开发工具

概述

“工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么ide就是程序员的吃饭家伙了。

ide的全称是integration development environment(集成开发环境),一般以代码编辑器为核心,包括一系列周边组件和附属功能。一个优秀的ide,最重要的就是在普通文本编辑之外,提供针对特定语言的各种快捷编辑功能,让程序员尽可能快捷、舒适、清晰的浏览、输入、修改代码。对于一个现代的ide来说,语法着色、错误提示、代码折叠、代码完成、代码块定位、重构,与调试器、版本控制系统(vcs)的集成等等都是重要的功能。以插件、扩展系统为代表的可定制框架,是现代ide的另一个流行趋势。

ide并非功能越多越好,因为更多的功能往往意味着更大的复杂度,这不但会分散程序员本来的精力,而且还可能带来更多的错误。只要基本功能满足需要,符合自己使用习惯的ide才是最好的ide。程序员的逻辑永远是:用最合适的工具做最合适的事情。

正因为此,比起大而全的ide,以单纯的文本编辑器结合独立的调试器、交互式命令行等外部小工具也是另一种开发方式。由于python本身的简洁,因此在写小的代码片段以及通过示例代码学习时这种方式尤其适合。

常用ide简介

这里简单介绍python程序员中最流行的若干ide。

内置ide

python的各个常见发行版都有内置的ide,虽然它们的功能一般不够强大完整,但简便易得就是最大的优势。 对于初学者来说,它们也是上手的最好选择,可以让你更专注于语言本身而不会被繁复的ide分散精力。

idle

idle是python标准发行版内置的一个简单小巧的ide,包括了交互式命令行、编辑器、调试器等基本组件,足以应付大多数简单应用。 idle是用纯python基于tkinter编写的的,最初的作者正是python之父guido van rossum本人。

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html — 《one day of idle toying》,图文并茂的入门文章

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/idle-chinese.htm — 《one day of idle toying》中文版

pythonwin

pythonwin是python win32 extensions(半官方性质的python for win32增强包)的一部分,也包含在activepython的windows发行版中。如其名字所言,只针对win32平台。

总体来说,pythonwin是一个增强版的idle,尤其是易用性方面(就像windows本身的风格一样)。除了易用性和稳定性之外,(简单的)代码完成和更强的调试器都是相对于idle的明显优势。

python win32 extensions的下载页:http://sourceforge.net/projects/pywin32/

activepython的主页:http://www.activestate.com/products/activepython/

macpython ide

macpythonide是python的mac os发行版内置的ide,可以看作是pythonwin的mac对应版本,由guido的哥哥just van rossum编写。

emacs和vim

emacs和vim号称是这个星球上最强大(以及第二强大)的文本编辑器,对于许多程序员来说是万能ide的不二(三?)选择。 比起同类的通用文本编辑器如ultraedit,emacs和vim由于扩展功能的强大,可以针对性地搭建出更为完整便利的ide。

emacs — emacs及python-mode的简介

emacs23 — emacs最新版本,完全支持unicode,目前为开发中分支

vim — vim 通用编辑环境使用技巧推介

pyideguider、vimpython、vimpythontdd — 社区内几篇介绍在vim环境下进行python开发的文章

虽然二者掌握之后可以说是终身受益,但学习曲线都比较陡峭。 由于历史原因,它们的设计理念都是基于纯ascii字符环境,gui相对来说不是支持的重点,大量使用快捷键才能带来最大的便利。 对于初学者来说,相对而言vim更简洁一些,但emacs的gui与一般编辑器的习惯更接近些。

eclipse + pydev

eclipse是新一代的优秀泛用型ide,虽然是基于java技术开发的,但出色的架构使其具有不逊于emacs和vim的可扩展性,现在已经成为了许多程序员最爱的瑞士军刀。

eclipse — eclipse集成开发环境使用说明,简略介绍了eclipse插件开发的基础知识

pydev是eclipse上的python开发插件中最成熟完善的一个,而且还在持续的活跃开发中。除了eclipse平台提供的基本功能之外,pydev的代码完成、语法查错、调试器、重构等功能都相当出色,可以说在开源产品中是最为强大的一个,许多贴心的小功能也很符合编辑习惯,用起来相当顺手。

速度和资源占用是致命伤,在低配置机器上跑起来比较吃力。

pydev — pydev开发环境简介

eclipse的主页:http://www.eclipse.org/

pydev的主页:http://pydev.sourceforge.net/

pydev使用手册:http://www.fabioz.com/pydev/manual_101_root.html (eng) 此入门手册从安装到开发过程中的使用,并且是图文显示,推荐大家使用.

技术开发参考: 用 eclipse,pydev 和 ant 进行 python 开发,http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/index.html

ulipad

ulipad是国内知名pythoner,也是pythoncn社区核心成员limodou开发的ide。

spe (stani’s python editor)

很有特色的一个轻量级python ide,功能很全面而不失小巧轻便,特别适合写小的脚本。

即时生成代码的uml类图是独此一家的功能,此外还特别注重与外部工具的集成。例如,集成了wxglade作为所见即所得的gui开发环境,集成了winpdb作为调试器,甚至还能与3d建模工具blender集成。

spe没有管理project的概念,这样开发多文件多目录组成的项目时会不太方便。此外界面设计相对来说不够细致,也算是瑕疵。

spe的主页:http://stani.be/python/spe/

boa constructor

专为快速开发基于wxpython的gui程序而设计的ide,支持“所见即所得”的控件拖放式开发,被称为python世界中的delphi。

曾被sourceforge推选为”project of the month”,不过最近开发速度趋于缓慢。

boa constructor的主页:http://boa-constructor.sourceforge.net/

eric3

eric3的主页:http://www.die-offenbachs.de/detlev/eric3.html

wingide

wingware公司开发的商业产品,总体来说是目前最为强大专业的python ide,开源项目可以申请到免费的license。

最大的缺点和pydev一样,速度较慢,资源占用多。

wingware的主页:http://wingware.com/

komodo

另一个优秀的商业产品,由activestate公司开发,是一个泛用的脚本语言ide,除了python外还支持javascript、perl、php、ruby、tcl等多种语言。

komodo的主页:http://www.activestate.com/products/komodo/

textmate

textmate是mac osx平台的cocoa原生程序,类似ultraedit。以灵活的bundles和code snippets著称,支持大多数的脚本语言。rails的全体开发团队都用这个editor。类似emacs/vi,需要配合ctags分析python代码结构,可以很容易的做unittest等功能。需要特别指出的是它对于django的model和template、以及zope都有专门的支持。

textmate的主页:http://macromates.com/

scribes

“书记员”──穷人的textmate?

intype

windows下的textmate

pyscripter

delphi开发的python ide,只有windows版本。

pyscripter的主页:http://mmm-experts.com/products.aspx?productcharming python”专栏作者david mertz的测评文章,写于2001年,许多内容已经过于陈旧了,但仍有参考价值。

http://spyced.blogspot.com/2005/09/review-of-6-python-ides.html — review-of-6-python-ides.html

http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html — pycon-python-ide-review.html

较新的两篇python ide测评文章(原地址需代理才能访问,后一个附件链接是本地的备份),分别比较了pydev、eric3、boa constructor、blackadder、komodo、wingide、spe。

Posted in 未分类

发表评论