介绍Windows/Linux下比较好用的常用python IDE选择与推荐

最近在看Python 正所谓公欲善其事必先利其器。对于我这个被VS方便给宠惯了的人当然不会满足于官方的IDLE,想去找一个好的IDE来学习Python 。网上随便找了一下,东西还真不少。统计了一下基本如下(ZT):

python ide选择和比较(pycharm,pydev+eclipse,sublime text 2,wingide)

最 近在做一个python的项目,代码多了以后发现有个好的ide还是很重要的。之前写的东西都小,就几个文件几个类随便用什么写都行,现在代码一多ide 的重要性突显啊。试用了一下几个比较流行的ide,在网上看过几篇比较的文章和也看论坛上大家的讨论,现在写一下试用的心得,方便大家了解一下每个ide 的特点。

之前在stackoverflow上面看到有个发文问python最好的ide是哪个,下面有个人回复说每个ide都有自己的特 点,不同的人对ide的需求是不同,每个人心中的ide排名也是不同的,所以讨论哪个最好是不会有答案的,比较好的方式是比较ide之间有什么不同,之后 跟据自己的需要来选择。我很同意这个说法,每个ide确实都是有一些特色,所以说哪个ide是最好的是不合适的。不过对于大多数人来说pycharm应该 算是python ide里面综合性能最强的,也是stackoverflow里面最多被推荐的,很建议大家试用一下。sublime text 2自身 不算Ide,只是个编辑器,加上插件以后勉强算是ide了

先说一下试用的各个ide的版本吧,现实中每个Ide随着新版本的推出变化还是非常大的,所以这篇文章的时效性也很强,估计过上半年就没什么用了

pycharm 2.6.3

eclipse 4.2 + rse 3.4 + pydev 2.7.0

sublime text 2 2.0.1 + sublimerope +sublimelint +sftp

wing ide 4.1.10

评价都比较主观,不过也参考了很多人的说法,还有一点参考价值。

各个ide各方面对比:

价格:

只说个人使用授权的价格

  1. pydev:免费
  2. pycharm:$99
  3. st2: $70
  4. wingide: $95

除去pydev性价比最高的就是pycharm,st2功能很少也卖到$70是性价比最低的

界面美观程度(包括字体,代码高亮的颜色,选中后的状态等对界面相关的):

  1. st2
  2. pydev
  3. pycharm,wingide

这一项比较主观,主题什么的倒是都可以调,但是这种细节的地方太多了,不是每个人都有那么多精力去搞这些东西,默认的样子还是很重要的

代码提示和代码补全:

  1. wingide
  2. pycharm
  3. pydev
  4. st2

这 一项感觉上pycharm做的智能的逻辑最复杂,很多时候第一选项都是想要的,但是也经常把想要的项排的很靠后,wingide做的相对就比较好,虽然第 一项不一定是最想要的,但是想要的总会排前几。pydev,st2的代码提示看样子都是做的字符串匹配加简单的语法分析,在这里说一下pydev默认只有 基本的lib和输入过的字符串,这个是可以设置为各种匹配方式的。st2有个缺点是输入点号不提示,只有输入第一个字母的时候才提示,这个对于所用的 lib不熟悉的话很影响效率。

远程编辑(sftp/ftp):

  1. eclipse+pydev
  2. pycharm
  3. st2
  4. wingide

eclipse的rse插件做的最好,pycharm偶尔会出现同步错误或者是在做危险操作的时候不提示,st2的sft插件做的比较差经常出现没有同步的服务器上去的情况,wingide没有这项功能

响应速度:

  1. wingide
  2. st2
  3. pydev
  4. pycharm

项目大一点的时候wingide还是很流畅,下面的几项按卡顿的出现次数据排了一下,这里说一下st2本身不会卡,问题出在插件rope和lint上

定义跳转:

  1. pycharm
  2. wingide
  3. pydev
  4. st2

pycharm做的最好但也不完美,wingide算是有基本的功能,pydev只能是当前文件,st2就没有这功能

远程调试:

  1. pycharm
  2. wingide
  3. pydev
  4. st2

pycharm和wingide有这项功能,pydev做的比较差,st2就没有这种功能

单元测试:

  1. pycharm,wingide,pydev
  2. st2

就st2没有,其它几个都差不多

outline:

  1. pycharm,pydev,wingide
  2. st2

这一项st2没有,它只有一个类和函数的显示,pydev显示的信息最好。

错误提示:

  1. pycharm
  2. wingide
  3. st2
  4. pydev

pycharm的错误提示最智能,提示的最多,wingide稍稍差一点,st2的lint只能提示一些简单的错误,pydev很多都提示不出来。

我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出。有些我没有用过,先不写了。
以下是我使用过的python IDE:

除了PythonWin, VisualPython只支持Windows,其它都至少支持Win/Linux/Mac。
各项含义:
自动补全:变量/函数名打到一半时,提示可能的完整的变量/函数名。
智能感知:在库/类/对象后打”.”后,提示可能的函数或变量。
调试:分四档,从好用到不好用分别为“类VC”(调试器操作方式与VC/eclipse相似),“WPDB”(使用WinPdb作为调试器),“用库”(要配合专门的python调试库,即要改代码来配合调试),最惨的当然是“无”啦。
语法检查:从好用到不好用分别为“存盘时”(存盘时自动检查,也可以在菜单里手动选择检查),“手动”(在菜单里选择检查),“无”(没有语法检查功能)
开源:分为开源,共享(提供免费试用,然后需要付费),收费三种。目前还没有“收费”这一类。
推荐度:五星为最推荐,一星为最不推荐。推荐度为作者主观评价,不代表其他人意见。

各IDE简介(注意本文最后修改时间是2008年7月):
IDLE:
装了python就会有这个,大家肯定都用过了,功能还凑合,调试器的使用方法和大家熟悉的eclipse/Visual Studio很不一样,需要学习和适应。各项表现都一般。推荐度:★★

PythonWin:
内 置Win32 extension,PythonWin成为了win32的python程序开发者必备的工具。虽然它只能运行在Win下,但其实也是开源的。功能上可以 认为它是加上了自动补全和智能感知功能的IDLE,虽然和以其它一些复杂的IDE相比有些差距,但却是轻量级Python IDE的首选。推荐度★★★

SPE:
全名Stani’s Python Editor。相当不错的IDE,语法高亮、代码折叠、智能感知、自动语法检查等功能一应俱全,集成wxGlade。可惜没有自动补全功能。开源,可以用svn下载到最新的源代码,依赖wxPython。推荐度★★★★★
附:总有人说下不到SPE,去这里看看:

http://developer.berlios.de/project/showfiles.php?group_id=4161

SVN方式下载:

http://pythonide.blogspot.com/2007/02/how-to-download-latest-spe-from_26.html

Ulipad:
前身是NewEdit,和SPE相比,多了自动补全功能,因而比SPE更加方便,不过没有把界面设计器wxGlade集成进来。开源,可以用svn下载到最新的源代码,依赖wxPython。推荐度★★★★★。

Eric:
Eric 升级到4后,各方面有了很强的提升,全方位超过其它开源IDE。使用PyQt4作为图形库,界面美观大方,并与QtDesigner结合,使得开发GUI 程序变得非常方便,比下面将提到到BOA还要好用。最大的亮点莫过于它的调试器,支持断点设置、单步调试和变量值查看。一句话,有了Eric4,就不用再 去捣腾商业的IDE了。推荐度★★★★★,个人强烈推荐。
Eric4在Windows下的安装有些要注意的地方,参见:

http://hi.baidu.com/runningon/blog/item/091dd009c4c80187d1581b05.html

Boa Constructor:
比起SPE和Ulipad,BOA的编辑功能相当单薄,自动补全与智能感知都要手动,而且没有自动语法检查,但调试器相当好用。最大的亮点是界面设计器相当好用,比wxGlade要好用得多。硬伤是对中文支持不好。依赖wxPython。推荐度★★★。

WingIDE:
很不错的商业软件,调试器是类VC/eclipse的,相当好用,而且还支持project组织。但默认的设置是不支持中文的,要设置一下字体。不开源,而且破解不好找。既然已经有了好用的开源软件了,又何必再用盗版的呢?推荐度★★★★

Komodo:
由 ActiveState公司制作,该公司的ActivePython和ActivePerl可是相当有名。Komodo和WingIDE一样也是很不错的 商业软件,可以说WingIDE有的大部分优点Komodo也有,非常可惜没有自动补全。还支持宏录制(类似MS Office的宏录制),不过这也只是个噱头。不爽之处在于相当耗资源,我AMD 64位双核+1G内存+5400转的硬盘的本本,启动它时硬盘闪了足足一分钟。400$的价格对它来讲贵了点。推荐度★★★★

VIM/emacs + 插件:
Linux我也玩了好几年了,平心而论这两个东东不适合初学(的开发)者。现在Linux已经比较好用了,不会vim/emacs也不是什么大不了的事了,特别是后者。推荐度★★★。

eclipse + pydev:
依 靠强大的eclipse,pydev显得格外耀眼。强大的调试功能和舒服的编辑环境让pydev赢得了许多人的青睐。不过eclipse本来就是耗资源大 户,pydev在这一点上毫无办法。能配好pydev需要一些人品,用最新的eclipse,在线安装最新pydev(pydev的网站上会有介绍),成 功率会高一些。推荐度★★★★

VisualStudio.Net 2003 + VisualPython:
已经停止维护了,烂就一个字,多说无益,基本不能用。推荐度★

  • IDLE
    • IDLE是python创初人Guido van Rossum使用python and Tkinter来创建的一个集成开发环境。要使用IDLE必须安装python and Tkinter。
    • 特性:自动缩进,彩色编码,命令历史(Alt+p,Alt+n)和单词自动(Alt+/)完成。
    • 用IDLE执行Tkinter程序,不要在程序中包括mainloop。IDLE本身就是Tkinter应用程序,它会自动调用mainloop。再调用一次mainloop会与IDLE的事件循环冲突,造成运行时错误。
  • BlackAdder
    • BlackAdder支持windows and linux环境。用它创建的程序可在任何一种平台上运行,负责维护它的是TheKompany.com。他们发布了该软件的个人版 ,只提供有限的支持;以及专业版,需要许可,面向商业软件开发者。详情请访问www.thekompany.com/products/blackadder。
  • PythonWorks
    • 它由SecretLabs公司发布,该公司致力于Python项目的开发与部署提供相应的工具。PythonWorks是一种“快速应用程序开发”(RAD)工具,程序员可借助它快速地创建、调试和发布程序。
    •  PythonWorks包括一个HTML/XML编辑器、具有完全索引的文档、一个源码管理系统(用于项目分组)、自定义的代码编辑特性以及一个GUI布局编辑器。支持jython。
    •  允许用户以多种形式对项目进行打包:源码形式、可执行程序形式以及.pyc形式。
    • 有版权,需购买,详情请访问http://www.pythonware.com/products/works/index.htm
  • Wing IDE
    • Wing IDE由Archaeopteryx Software公司开发与支持,适用于windows and linux环境。它提供一个源码分析器和浏览器、项目管理能力以及文本编辑器和调试器。
    • 它由python编写,并包含python源码。购买者可自定义源码,以适应自已的要求,但是,不可将修改过的代码用于赢利目的。
    • 全功能演示版可在http://archaeopteryx.com/wingide下载。
  • Pythonwin
    • Pythonwin集成开发环境包含在由ActiveState出品的ActivePython中,ActivePython是一个二进制build。其中包括用于XML处理的expat模块,以及一系列windows工具。
    • 提供的特性有:彩色编码、源代码折叠、单词完成及自动缩进。调试器支持事后诊断功能、标准的单步调试、断点设计及变量监视。
    • 详情请访问http://aspn.activestate.com/activepython。
  • Komodo
    • ActiveState还为python提供了另一个IDE,名为Komodo,可用它在windows and linux上开发程序。Komodo最大的特点是,它是Perl,PHP,Tcl,HTML,XML AND XSLT的一种集成开发环境。
    • Komodo 3.5.1支持ruby和RoR开发,它是全球首个支持ruby和RoR开发的商业IDE。
  • Boa Constructor
    • Boa是一个跨平台的python IDE和WxPython GUI。它提供可视化的编程和操作框架,能方便地进行程序的设计。它有一个对象浏览器,并提供有各种资源的视图,有一个html文档生成器,还有一个先进 的调试器和完整的帮助系统。Boa还提供对zope的支持,能添加、删除、复制、剪切、导入和导出zope中的对象。能编辑对象属性和进行python脚 本的调试。Boa是用python基于WxPython库编写的。
    • 下载地址是:http://boa-constructor.sourceforge.net/,要安装Boa要先安装合适版本的python和WxPython。
  • PyDev
    • Pydev是Eclipse中的Python开发插件。支持以下功能:1、支持语法高亮显示功能和自动语法分析功能;2、大纲功能,能把 库、类、函数结构化地显示出来;3、DEBUG功能。支持设置断点,单步执行和显示变量等功能;4、源码内容关联功能;5、支持中文输入。该插件还是不断 开发中,结合Eclipse的强大功能,值得期待。
    • 下载地址:http://pydev.sourceforge.net/
  • Eric3
    • Eric3是一个功能强大的Python IDE,它基于QScintilla编辑器组件,用PyQt写成。该工具开发很活跃,现在最新版是eric3 3.5.1。
    • Eric3除具备一般编辑器所具有的功能外,还具有很多特别的功能,包括:1、可定制设计窗口;2、集成项目管理工具,方便进 行开发项目的组织和管理;3、基于omniORB的CORBA支持;4、能生成类UML的图表;5、集成连接CVS和Subversion版本控制系统的 接口;6、一个功能强在Python调试器。等等,还有很多,这里就不一一列举,详细内容请参考官方网站。
    • 下载地址是:http://www.die-offenbachs.de/detlev/eric3.html
  • DrPython
    • DrPython是一个高可配置的程序开发环境,用Python语言开发,可跨平台使用。它基于wxPython和Scintilla库。
    • 它的主要功能有:1、支持python,C/C++,HTML语言和纯文本风格编辑功能;2、支持文件拖放功能;3、高可配置,可修改语法高亮规则、自动数据备份、定义查找/替换标记等功能;4、可通过python脚本访问内部组件。
    • 下载地址是:http://drpython.sourceforge.net/
  • SciTE
    • SciTE是一个基于SCIntilla的编辑器,起初是为了演示SCIntilla库的功能而开发的。现在已发展成一个功能强大的程序编辑器。 SciTE是基于GTK+开发的,在Intel Win32和Linux类的平台上都能使用。
    • 语法高亮这些通过功能SciTE也支持的,而且支持的文档格式很多,具体的内容可到项目网站上查到。其它的主要功能包括:1、支持代码折叠,方便浏览代码;2、支持多种导出格式,我们可把代码导出为HTML、RTF或PDF;3、可在SciTE中运行Python代码
    • 下载地址:http://scintilla.sourceforge.net/SciTE.html
  • SPE
    • SPE是一个跨平台的开源Python IDE,可运行于Linux、Windows和Mac X平台。它是用Python和WxPython GUI工具集来开发的。
    • 下载地址:http://pythonide.stani.be/
  • PyPE
    • PyPE是一个用Python和WxPython GUI工具写的编辑器。
    • 下载地址:http://pype.sourceforge.net/index.html
  • Pida
    • Pida是一个IDE,用Python和GTK GUI工具集编写。
    • 下载地址:http://pida.berlios.de/index.php/Main_Page。
  • TruStudio
    • 又一个基于Eclipse平台的Python开发工具,它还可开发PHP。它分开源的基础版和商业用专业版两种版本。
    • 下载地址:http://www.xored.com/trustudio
    除此之外还有:Visual PythonVisual Python 是一个Visual Studio .NET中的一个高效强大的Python插件!Python是一种不但成熟而且功能也十分强大的面向对象程序设计语言。它的功能性现在已经可以与Java 相媲美了。尽管Python有着这样或者那样的优点,但是它仍然面对着这样的一种现实:真正了解Python的人给予了它很高的评价!jEdit,Leo ,IDLEfork ……当然以上这些工具我不是都下来用过。不过用了4,5个IDE个人觉得还是PyDev 最爽,基于Eclipse的。用起来的确很方便。Visual Python也一直想用不过我现在安装的是VS2005 了,所以也安装不上,还真想体验一下阿。若要做WinForm编程的话,现在个人觉得Boa不错。