1. 概述
“工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了。
IDE的全称是Integration Development Environment(集成开发环境),一般以代码编辑器为核心,包括一系列周边组件和附属功能。一个优秀的IDE,最重要的就是在普通文本编辑之外,提供针对特定语言的各种快捷编辑功能,让程序员尽可能快捷、舒适、清晰的浏览、输入、修改代码。对于一个现代的IDE来说,语法着色、错误提示、代码折叠、代码完成、代码块定位、重构,与调试器、版本控制系统(VCS)的集成等等都是重要的功能。以插件、扩展系统为代表的可定制框架,是现代IDE的另一个流行趋势。
IDE并非功能越多越好,因为更多的功能往往意味着更大的复杂度,这不但会分散程序员本来的精力,而且还可能带来更多的错误。只要基本功能满足需要,符合自己使用习惯的IDE才是最好的IDE。程序员的逻辑永远是:用最合适的工具做最合适的事情。
正因为此,比起大而全的IDE,以单纯的文本编辑器结合独立的调试器、交互式命令行等外部小工具也是另一种开发方式。由于python本身的简洁,因此在写小的代码片段以及通过示例代码学习时这种方式尤其适合。
2. 常用IDE简介
这里简单介绍Python程序员中最流行的若干IDE。
2.1. 内置IDE
Python的各个常见发行版都有内置的IDE,虽然它们的功能一般不够强大完整,但简便易得就是最大的优势。 对于初学者来说,它们也是上手的最好选择,可以让你更专注于语言本身而不会被繁复的IDE分散精力。
2.1.1. 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》中文版
2.1.2. 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/
2.1.3. MacPython IDE
MacPythonIDE是Python的Mac OS发行版内置的IDE,可以看作是PythonWin的Mac对应版本,由Guido的哥哥Just van Rossum编写。
2.2. Emacs和Vim
Emacs和Vim号称是这个星球上最强大(以及第二强大)的文本编辑器,对于许多程序员来说是万能IDE的不二(三?)选择。 比起同类的通用文本编辑器如UltraEdit,Emacs和Vim由于扩展功能的强大,可以针对性地搭建出更为完整便利的IDE。
虽然二者掌握之后可以说是终身受益,但学习曲线都比较陡峭。 由于历史原因,它们的设计理念都是基于纯ascii字符环境,GUI相对来说不是支持的重点,大量使用快捷键才能带来最大的便利。 对于初学者来说,相对而言Vim更简洁一些,但Emacs的GUI与一般编辑器的习惯更接近些。
2.3. Eclipse + PyDev
Eclipse是新一代的优秀泛用型IDE,虽然是基于Java技术开发的,但出色的架构使其具有不逊于Emacs和Vim的可扩展性,现在已经成为了许多程序员最爱的瑞士军刀。
PyDev是Eclipse上的Python开发插件中最成熟完善的一个,而且还在持续的活跃开发中。除了Eclipse平台提供的基本功能之外,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
2.4. UliPad
UliPad是国内知名pythoner,也是PythonCN社区核心成员limodou开发的IDE。
2.5. SPE (Stani's Python Editor)
很有特色的一个轻量级python IDE,功能很全面而不失小巧轻便,特别适合写小的脚本。
即时生成代码的UML类图是独此一家的功能,此外还特别注重与外部工具的集成。例如,集成了wxGlade作为所见即所得的GUI开发环境,集成了Winpdb作为调试器,甚至还能与3D建模工具Blender集成。
SPE没有管理Project的概念,这样开发多文件多目录组成的项目时会不太方便。此外界面设计相对来说不够细致,也算是瑕疵。
SPE的主页:http://stani.be/python/spe/
2.6. Boa Constructor
专为快速开发基于wxPython的GUI程序而设计的IDE,支持“所见即所得”的控件拖放式开发,被称为Python世界中的Delphi。
曾被sourceforge推选为"Project of the Month",不过最近开发速度趋于缓慢。
Boa Constructor的主页:http://boa-constructor.sourceforge.net/
2.7. Eric3
Eric3的主页:http://www.die-offenbachs.de/detlev/eric3.html
2.8. WingIDE
Wingware公司开发的商业产品,总体来说是目前最为强大专业的Python IDE,开源项目可以申请到免费的license。
最大的缺点和PyDev一样,速度较慢,资源占用多。
Wingware的主页:http://wingware.com/
2.9. Komodo
另一个优秀的商业产品,由ActiveState公司开发,是一个泛用的脚本语言IDE,除了Python外还支持javascript、perl、php、ruby、tcl等多种语言。
Komodo的主页:http://www.activestate.com/Products/Komodo/
2.10. Textmate
Textmate是Mac OSX平台的Cocoa原生程序,类似UltraEdit。以灵活的Bundles和Code Snippets著称,支持大多数的脚本语言。Rails的全体开发团队都用这个Editor。类似Emacs/vi,需要配合ctags分析python代码结构,可以很容易的做unittest等功能。需要特别指出的是它对于Django的model和template、以及Zope都有专门的支持。
Textmate的主页:http://macromates.com/
2.11. 综合比较
swordsp的个人建议:
-
初学者首选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。
3. IDE之外的工具
3.1. 交互式命令行(interactive console)
3.1.1. IPython
IPython的主页:http://ipython.scipy.org/
3.2. 调试工具(Debugger)
3.2.1. Winpdb
Winpdb的主页:http://www.digitalpeers.com/pythondebugger/
3.3. 其它支持 Python 的编辑器
3.3.1. Leo
基于全新的Literate Programming(文学化编程)理念的开发工具,详细的介绍参见:LeoEnvironment
Leo的主页:http://webpages.charter.net/edreamleo/front.html
3.3.2. 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 操作系统上。
分享到:
相关推荐
介绍Python程序员常用的IDE和其它开发工具.docx
介绍Python程序员常用的IDE和其它开发工具 ::-- swordsp [2007-01-26 14:56:03] 目录 1. 概述 1. 常用IDE简介 1. 内置IDE 1. IDLE 2. PythonWin 3. MacPython IDE 2. Emacs和Vim 3. Eclipse + PyDev 4. Komodo "此...
Wing IDE Pro 2022是Python程序员的专业和有效的IDE应用程序,帮助他们创建脚本和独立的应用程序,以及使用高级工具测试、调试和编辑他们的源代码。 这是一个高效的应用程序,它使用了一个强大的高级Python开发编辑...
今天,我就把Python程序员使用频率比较高的5款开发工具推荐给大家,希望对大家的工作和学习有帮助。 一、最强终端:Upterm 本来想推荐 fish 或者 zsh,但其实这两个我也主要是贪图自动补全这个特性。最近在用的这个 ...
Tkinter 和闲置的 IDE 是由 Python 创始人编写的,它们是作为大多数 Python 分发版的缺省选择而出现的。标准 Python 文档讨论了 Tkinter,但没有涉及任何其它 GUI 绑定。这是故意的!至少可以这么认为,如果 Tk 和 ...
程序员开发代码编辑器 CodeLobster IDE Pro 中文版程序员开发代码编辑器 CodeLobster IDE Pro 中文版 CodeLobster IDE 特色 易于使用的源代码编辑器和编译器 在设置操作期间,您可以进行文件关联并选择首选颜色方案...
都说工欲善其事必先利其器,本课程讲帮助小白,和刚转行python程序员,从无到有,搭建python相关生产环境,课程设计两套系统,linux + windows环境下的软件安装。软件安装范围有pycharm , anaconda , sublime ,jupyter ...
它是一个集成开发环境(IDE),为程序员提供了用于软件开发的工具,例如源代码编辑,管理和测试。 CompileOne的设计考虑了编码人员创建模板,文件,文件夹的要求,以维护每次竞赛的代码。 ##使用的核心技术 后端:...
并能监视,查看变量以及堆栈变化,以及添加,删除,管理断点等功能, 强大的包管理器,通过pip一键式安装卸载Python包,支持中英文多个语言版本,灵活的高扩展性, 提供开放式接口支持程序员开发自定义插件,...
<br/> <br/>一个快速的对象模型和算法的原型开发工具 <br/>开发软件花费钱财需要很多时间才能达到很好的效果。在Python下创建对象,你可以比我们知道的任何语言用更短的代码和更少的时间,并且全部...
一般来说,选择用于应用程序的 GUI 工具箱会是一件棘手的事。使用 Python(许多语言也...Tkinter 和闲置的 IDE 是由 Python 创始人编写的,它们是作为大多数 Python 分发版的缺省选择而出现的。标准 Python 文档讨论
PyScripter 是一个开发 Python 代码的 IDE 工具。 一个在 Windows 上运行的用来写 python 代码的工具。简单说有点类似 vscode 这样的工具,但它是专门为 python 开发的。简单,好用,顺手。 pyscripter 这个 IDE 是...
**开发工具**: - Python解释器。 - 代码编辑器或IDE,如Visual Studio Code、PyCharm等。 ### 适合人员: - 计算机科学或相关领域的学生:此项目能够帮助他们实践编译原理和Python编程知识。 - 软件开发者:特别是...
有很多的python IDE工具可以用,但是要从中选出一个用着趁手的IDE却是一项艰巨的任务。 你可以用最基本的文本编辑器来开始学习python编程,也可以用一个完整的功能丰富的python IDE,比如PyCharm, Pydev, Emacs 或者...
Ankord PHP Expert Editor是一款易于使用的Windows平台下的IDE集成开发环境,Ankord PHP Expert Editor支持Perl, Python, Java Script等主流语言,该编辑器特别为PHP 程序员的开发工作进行了优化,无论是对PHP新手...
PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率。那么具体如何使用呢?本文从 PyCharm 安装到插件、外部工具、专业版功能等进行了一一介绍,希望能够帮助到大家。 机器之心之前也没系统地介绍过 ...
并能监视,查看变量以及堆栈变化,以及添加,删除,管理断点等功能, 强大的包管理器,通过pip一键式安装卸载Python包,支持中英文多个语言版本,灵活的高扩展性, 提供开放式接口支持程序员开发自定义插件,...
一种帮助有抱负的程序员和希望引导学生开始编程的教师的工具。 我正在开发这个是因为我对 Portugol IDE 的体验不是很好,这个工具很适合开始,但是当我想创建函数或使用更复杂的结构时,我不能。 我真的很喜欢 ...
Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。 Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定...