python IDE比较与推荐

我先给一个初步的表格吧,大家如果有什么意见,或有补充,欢迎提出。有些我没有用过,先不写了。
以下是我使用过的python IDE:
(更新与2010年1月20日)

┌─────┬────┬────┬──┬────┬──┬─────┬─────┐ 
│IDE name│自动补全│智能感知│调试│语法检查│开源│特别注意  │  推荐度    │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│IDLE        │ 手动    │ 有(很差)│用库│  无      │开源│               │★★         │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│PythonWin│手动  │有        │用库│  无      │开源│Win Only  │★★★     │
├─────┼────┼────┼──┼────┼──┼─────┼─────┤
│SPE         │无        │有        │WPDB│存盘时│开源│                │★★★★  │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│Ulipad     │有         │有        │WPDB│自动   │开源│               │★★★★★│ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│Eric         │有         │有        │类VC│自动     │开源│                │★★★★★│  
├─────┼────┼────┼──┼────┼──┼─────┼─────┤  
│BOA        │手动  │手动      │类VC│无       │开源│中文支持差│★★★      │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│WingIDE  │有         │有        │类VC│手动    │共享│中文要设置│★★★★   │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│Komodo  │无         │有         │类VC│手动    │共享│相当耗资源│★★★★   │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│VIM+插件 │有   │无      │无   │无          │开源│             │★★★    │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│emacs+插件│有   │无        │无  │无           │开源│               │★★★    │ 
├─────┼────┼────┼──┼────┼──┼─────┼─────┤ 
│eclipse+  │有       │有        │类VC│自动    │开源│比较耗资源│★★★★★│ 
│pydev插件│            │           │      │            │      │                │              │ 
├─────┴─┬──┼────┼──┼────┼──┼─────┼─────┤ 
│VS.Net 2003   │无  │有(很差)│类VC│无      │共享│兼容性很差│★(基本不 │ 
│+VisualPython │    │            │     │            │      │已停止维护│能用)       │ 
└───────┴──┴────┴──┴────┴──┴─────┴─────┘

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

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

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

SPE:
全名Stani's Python Editor。相当不错的IDE,语法高亮、代码折叠、智能感知、自动语法检查等功能一应俱全,集成wxGlade。可惜没有自动补全功能。开源,可以用 svn下载到最新的源代码,依赖wxPython。但久未更新(最后一次更新是在2008年2月),逆水行舟,不进则退,功能上比其它IDE已经没有什么优势了。推荐度★★★★
下载:总有人说下不到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。轻便小巧而功能强大,非常适合初学者。推荐度★★★★★。
下载: http://code.google.com/p/ulipad/downloads/list

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。这个IDE也是久未更新了,最后一次更新是在2007年7月,没有什么特别的理由的话就别用它了。推荐度★★★。
下载:
http://sourceforge.net/projects/boa-constructor/files/

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

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

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

eclipse + pydev:
依靠强大的eclipse,pydev显得格外耀眼。强大的调试功能和舒服的编辑环境让pydev赢得了许多人的青睐。不过eclipse本来就是耗资源大户,pydev在这一点上毫无办法,但现在的电脑都很快了,跑eclipse根本就是小case,不用担心太多。除了强大的调试功能,依靠 eclipse,pydev的代码浏览能力是其它所有IDE所不能比的,比如按住CTRL键再点击一个类就能自动跳到该类的定义,这对于阅读代码非常有用。现在pydev extension也开源了,所以一些(我不知道的)高级的功能也被融入到pydev里了。推荐度★★★★★
下载: http://pydev.org/download.html
注意pydev可以在eclipse里在线安装,请阅读上面那个网页的右边的Quick Install.

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



总结:

1. 如果你是新手,请用ulipad,轻便小巧强大。
2. 如果你是熟手,请用eclipse+pydev,或(如果对调试功能要求不高)ulipad
3. 如果你是vi/emacs狂人,那不用我多说了吧……
4. 如果你要用QT4写GUI程序,请用Eric。一方面因为Eric已经相当不错,另一方面——其实也没其它比较好的选择了。
5. 如果你要用其它图形库写GUI程序,那么用哪个IDE都差不多,所以请参照1和2。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法系列7《CVN》

计算CVN时使用二个64位的验证密钥,KeyA和KeyB。 1) 计算CVN 的数据源包括: 主账号(PAN)、卡失效期和服务代码,从左至右顺序编排。 41234567890123458701111 2) 将上述数据源扩展成128 位二进制数据(不足128…

CSS之Box-sizing

W3C的标准盒模型: IE的传统盒模型: 实例: 1.W3C 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分 2.IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒…

javascript学习系列(9):原数组发生变化的情况

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说形…

阿里云设置域名解析到主机ip

A记录 使用场景 添加 A 记录可实现将域名指向 IP 地址。 设置方法 登录云解析DNS控制台在域名解析页面,全部域名页签下,单击域名,进入解析设置页面 在解析设置页面,单击 添加记录 按钮 添加记录会话框中各项参数的添加说明。 …

python fabric实现远程操作和部署

博客迁往:新地址 (点击直达) 新博客使用markdown维护,线下有版本号库,自己写的所以会定时更新同步,同一时候提供更好的导航和阅读体验 csdn对markdown支持不好,所以旧版不会花时间进行同步修订&…

[Windows]python+PyQT+Eric安装配置

From: http://www.cnblogs.com/lhj588/archive/2011/10/05/2198472.html 一、大纲内容: 1、预备PC环境: 2、预备安装程序: 2、1、下载Python3.2 2、2、下载PyQt4 2、3、下载Eric5 3、安装配置步骤: 3、1、安装Pyhon3.2 3、2、安装Py…

CSS之BFC

1.BFC(Block Formatting Context)是Web页面中盒模型布局的CSS渲染模式。它的定位体系属于常规文档流 2.创建一个BFC 一个新的BFC可以通过给容器添加任何一个触发BFC的CSS样式,如overflow: scroll, overflow: hidden, display: flex, float: left,或者 display: tabl…

[导入]WINRAR 命令行语法[转载]

WINRAR 命令行语法 [ 2006-10-13 23:33:44 | 作者: 碳酸氢钠 ] Font Size: Large | Medium | Small 语法:RAR <命令> [-<开关>] <压缩包> <文件列表...> [<文件...>] [<解压缩路径\>]命令行选项(命令及开关)提供 RAR 创建及管理控制压缩包…

【计算机网络】端口和进程的区别

端口和进程的区别 用一个例子说明二者的区别 现在有一个手机&#xff0c;这个手机好比一个和外界通信的端口。 你现在想给你女朋友打电话&#xff0c;可是手机被占用了&#xff0c;你就开始大喊&#xff0c;谁拿了我的手机&#xff08;翻译一下就是&#xff1a;哪个进程占用…

[python]如何清屏?也就是实现clear?

import os os.system( cls ) 由此也可见,想要执行任何一条系统命令,都只需要执行os.system( COMMAND )就行了. 因此&#xff0c;在windows命令提示符下清屏就是&#xff1a;os.system("cls") 在linux终端下清屏就用&#xff1a;os.system("clear")

javascript学习系列(10):数组中的slice方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说s…

【官方文档】《暗黑世界V1.4》API说明!

指令号说明账号注册 100{username str 用户名password str 密码}返回信息{result bool 指令调用是否成功message str 指令调用返回的信息}账号登陆 101请求信息{username str 用户名password str 密码}返回信息{result bool …

SpringSide示例之HelloWorld

SpringSide是个什么东西呢&#xff1f;这么说吧&#xff0c;就是“采众家之长”的一个一站式框架&#xff0c;它吸取了开源界许多优秀组件的精华部分&#xff0c;非常简约的一个东西&#xff0c;具体就不多介绍了&#xff0c;自己可以参考官方文档。下面来看看运用这个框架实现…

CSS之viewports剖析

1.设备的pixels和CSS的pixels 首先你应当理解CSS的pixels&#xff0c;以及它和设备的pixels的区别 我们姑且认定设备的pixels为标准的pixels宽度。这些pixels决定了你工作所用的那些设备上正式的分辨率。在大多数情况下&#xff0c;能够从screen.width/height上取出具体值 如…

9个好用的搜索小技巧

百度一下&#xff0c;你就知道。搜索是我们常用的工具&#xff0c;怎么又快又准的搜索出想要的结果是现代人必备的技能&#xff0c;下面就教你9个好用的搜索小技巧吧 1 . 完全匹配搜索。 在查询词的外边加上双引号“”。 如 “北京地坛” &#xff0c;注意引号是不分中英文的…

raw_input() 与 input() __ Python

>>> input ("my age is : ") my age is :23 23 >>> raw_input("my age is : ") my age is : 23 23 有什么不一样&#xff1f;再看一个例子 >>> age input(" how old r u ?") how old r u ?23 >>> p…

javascript学习系列(11):数组中的findIndex方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说f…

系统监控

SAP系统监控在生产系统中&#xff0c;我们要根据实际需要来进行实时监控系统&#xff0c;目的是为了保证系统的平稳运行在ERP系统中&#xff0c;我们的生产系统会部署在各个服务器节点上&#xff0c;每台服务器对应的客户端节点又有很多个尤其是在系统压力比较大的时候&#xf…

PKU 1061 青蛙的约会

/*扩展欧几里德求模线性方程 感谢logic_space的指正*/#include <iostream>#defineabs(a) ((a)<0?-(a):(a))usingnamespacestd; __int64 exGCD(__int64 a, __int64 b, __int64 &x, __int64 &y) { if(b 0) { x 1; y 0; return…

小程序根据手机机型设置自定义底部导航距离

需求: iponeX 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置. 解决: //app.js App({/*** 当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;*/onLaunch: function() {var that this;//获取手机型号…