概述
“工欲善其事,必先利其器”,假如说编程是措施员的手艺,那么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,成果很全面而不失小巧精练,出格适合写小的剧本。
#p#分页标题#e#
即时生成代码的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?ProductId=4
IDE之外的东西
交互式呼吁行(interactive console)
IPython
IPython的主页:http://ipython.scipy.org/
调试东西(Debugger)
Winpdb
Winpdb的主页:http://www.digitalpeers.com/pythondebugger/
其它支持 Python 的编辑器
Leo
基于全新的Literate Programming(文学化编程)理念的开拓东西,具体的先容拜见:LeoEnvironment
Leo的主页:http://webpages.charter.net/edreamleo/front.html
Bluefish
Bluefish 凡是被认为是一个雷同 Homesite 的网页编辑器,但事实上它不只如此。它应该是一个通用的文本编辑器,支持 C、PHP、Python、Ruby、Perl、Java、Shell、Tcl 等很多种编程语言,支持语法高亮、自动换行、自动封锁 HTML 标签等,可同时编辑多个文档。
Bluefish 虽然不能算是一款 Python 的 IDE 东西,但假如做 Web 相关的开拓( DjanGo、TurboGears 等),用它来写措施显然很利便。并且 Bluefish 相当友好,根基上不消学就会用,可以使我等菜鸟尽快将精神转移到 Python 的进修上来。
Bluefish 官方站在 http://bluefish.openoffice.nl/index.html 今朝可以运行在大大都类 UNIX 操纵系统上。
Discuss
综合较量
初学者首选IDLE / PythonWin / MacPython
Emacs / Vim / Eclipse+PyDev是强大且通用的办理方案,取决于你更熟悉哪个情况,假如都没有基本,更推荐Eclipse+PyDev。
SPE是纯Python实现的简捷型IDE中成果最完善的,写小剧本的时候很利便。
Boa优点在基于wxPython的快速GUI开拓。
假如有条件选择贸易东西,WingIDE可能Komodo都是优秀的产物。
其它较量Python IDE的文章:
http://www-128.ibm.com/developerworks/cn/linux/sdk/python/charm-14/index.html
"Charming 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。