概述

“工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么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?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

综合比较

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。

转自: http://wiki.woodpecker.org.cn/moin/PyIDE

Python适合自己的IDE才是最好的IDE相关推荐

  1. Python适合初学者或者0基础学习吗?

    Python适合初学者或者0基础小白学习吗?很多人都比较关注这个问题,因为近几年Python在互联网行业的发展显而易见,它的就业几率也非常高,具体来看看下面的详细介绍吧. Python适合初学者或者0 ...

  2. 风变编程python第一关脸黑怪我喽_风变编程:Python适合编程初学者学习吗?

    来源标题:风变编程:Python适合编程初学者学习吗? 据百度大数据统计每月有4260705的用户在百度检索Python相关介绍,在大众周围,也总是充斥着各种如何学习Python的声音,许多人已经对于 ...

  3. python可以做什么开发-python适合做什么开发_python未来发展怎么样

    python概述 Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年.Python是纯粹的自由软件, 源代 ...

  4. python适合零基础学习吗-Python适合不适合零基础学习呢?老男孩教育

    Python适合不适合零基础人员学习?Python是一门比较高级流行的变成语言,该语言是非常适合零基础人员学习的,也是初学者的首选.很多人可能编程很难,所以在没有学习之前就觉得难以学习好,其实只要你愿 ...

  5. 【Python开发】Python 适合大数据量的处理吗?

    Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...

  6. Python适合初学者入门

    老袁最近发现,我身边有好多小伙伴最近老问我学习python怎么样,这期就出的相信点解析一下为什么初学者适合python,希望大家可以对python感兴趣程度大一些. Python适合初学者入门.Pyt ...

  7. python最适合做什么-python适合做什么开发_python未来发展怎么样

    python概述 Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年.Python是纯粹的自由软件, 源代 ...

  8. Python 学到什么程度才可以去找工作?掌握这 4 点足够了!

    大家在学习 Python 的时候,有人会问 "Python 要学到什么程度才能出去找工作",对于在 Python 培训机构学习 Python 的同学来说这都不是问题,因为按照 Py ...

  9. Python适合0基础菜鸟学吗

    前言 经常有小伙伴问:Python适合0基础初学编程的人学吗?今天我们就来从Python的功能和特性方面看一下,Python是否能让新人快速上手. 1.非常适合.我觉得刚开始学编程,负担越少越好,应该 ...

最新文章

  1. 「长图」使用AI前需要评估的
  2. java中 hashmap中小数,java基础知识--HashMap中对 h(length-1)的理解
  3. 如何使用Python创建自己的加密货币
  4. JWT令牌创建和解析讲解
  5. 根据按钮的状态显示hover
  6. 为什么DevOps的必然趋势是BizDevOps
  7. Android中文API(99)—— RelativeLayout
  8. OpenJudge NOI 1.7 17:字符串判等
  9. Handlebars 和 angularjs 之间的区别
  10. 洛谷2863 [Usaco06JAN]牛的舞会
  11. 计算机操作系统第六章测试题及答案
  12. 用户/账户/账号的理解
  13. vue-quill-editor超链接bug问题
  14. 客户关系管理系统(CRM)的开发过程中使用到的开发工具总结
  15. eclipse访问限制
  16. iMac恢复出厂设置及安装
  17. python中怎么计数_python怎么计数
  18. UOS(Deepin V20)体验
  19. 远控免杀专题(9)-Avet免杀(VT免杀率14/71)
  20. 裁判文书网爬虫Docid解密思路

热门文章

  1. Java与MySQL连接报错_java连接数据库报错(
  2. vmware虚拟的ubuntu18.04死机,尝试关闭时关机报“虚拟机xxx繁忙”
  3. 百度前端学院参考答案:第二十五天到第二十七天 倒数开始 滴答滴 滴答滴(2)...
  4. (转)C++优先队列中元素及结构体的排序
  5. sublime安装AngularJS插件
  6. 微信开发博客——柳峰
  7. 提高代码可读性: 命名技术
  8. 防止病毒迷惑了您的眼睛
  9. 解决小目标检测问题的几个途径
  10. 度假式办公环境、值得拥有!珠海金山软件诚聘CV、C++、后端工程师