David Mertz 介绍了 6 种 Python 集成开发环境,并比较了其特性、平台和稳定性。他发现 -- 或许只是无意中对开放源代码模块的测试 -- 免费产品似乎都比商业产品优秀。
前几周,我有幸对一些 Python 开发环境做了一次全新的试用(或者说是首次尝试)。这样很可能会涉及从实际尝试“最佳文本编辑器,附加命令行”方法到 Python 开发,而对于更复杂的 Python 集成开发环境 (IDE) 在 Python 讨论网站上有详尽的内容。
对 Python IDE 的整体印象使我得出了一个有点吃惊的结论。这可能是某些常理的关系,也可能只是巧合。总的来说,我发现免费工具比花钱的商业工具更优秀一些。
写在测评之外
首先我必须指出一些我 没机会尝试的工具,您可以自己测评:
PythonWare 的 PythonWorks Pro 1.1 看上去很有前途;请看其演示版的 屏幕截图。它包括 Tkinter 表单设计器、新型的编辑器、调试器和漂亮的屏幕界面。它适用于 Linux、Windows 和 Solaris。PythonWorks Pro 的价格相当昂贵:400 美元。此次测评时我没能获得其供测评用的最终版本。
Boa Constructor 是个界面相当优秀的开放源代码的 Python IDE,它包括 wxWindows 的表单设计器。同时具有出色的编辑器、调试器、项目管理器和一些其他组件。Boa Constructor 运行于 Win32 和 X11(需要支持合适平台的 wxWindows)。不幸的是,其主页声称程序尚处于 "pre-alpha" 阶段,虽然从屏幕快照来看相当优秀,我觉得还是无法推荐这样一个尚处于早期开发阶段的工具。
当然,最后一类未被测评的工具是几十种优秀的 文本编辑器,具备各种 Python 友好功能,例如语法标签高亮显示、执行窗口、代码合并、宏功能以及许多甚至最好的 IDE 也缺少的功能。这些工具在此次讨论范围之外,但是对于您最喜欢(并且熟悉)的文本编辑器还是有许多可以谈的。
总会有些或多或少标准的和免费的 Python 代码开发工具。总的来说,这些工具都是稳定、坚固、和设计周全的。另一方面,标准免费工具也并不一定那样的华而不实。
Idle 是一个纯 Python 下使用 Tkinter 编写的相当基本的 IDE。Idle 总的来说是标准的 Python 发行版,甚至是由 Guido van Rossum 亲自编写(至少最初的绝大部分)。您可在能运行 Python 和 TK 的任何环境下运行 Idle。打开 Idle 后出现一个增强的交互命令行解释器窗口(具有比基本的交互命令提示符更好的剪切-粘贴、回行等功能)。除此之外,还有一个针对 Python 的编辑器(无代码合并,但有语法标签高亮和代码自动完成功能)、类浏览器和调试器。菜单为 TK “剥离”式;也就是点击顶部任意下拉菜单的虚线将会将该菜单提升到它自己的永久窗口中去。特别是 "Edit" 菜单,将其“靠”在桌面一角非常实用。Idle 的调试器提供断点、步进和变量监视功能;但并没有其内存地址和变量内容存数或进行同步和其他分析功能来得优秀。当然,我的调试风格包括某些分散的 print 命令,但您的方法可与我不同。
Idle 中的一些小问题 -- 至少在 0.6 版中存在。在我的 Win95r2 系统下(也是我试用 Idle 的系统),弹出模板总会停留在屏幕上挡住我想输入的东西。可能更严重的是这很容易在运行错误的脚本时引起 Idle 停止响应。例如,代码 while 1:x=1 必定会引起 Idle 自行强制关闭,而非执行代码。显然,不会有人故意首先编写这段代码,但即使在最老的 Python 交互会话也可使用 Ctrl-C 将其关闭(无可否认是有此功能的会话)。
MacPython IDE 和 PythonWin 类似,只是针对平台不同。与 Idle 和 PythonWin 类似,MacPython IDE 与针对其平台的标准发行版一同出现,并且是免费软件(由 Just van Rossum 编写)。安装 MacPython 完成后,我建议首先要做的是设法取得 Advanced Editor Patch (请参阅专栏后的 参考资料)。第一次安装有点奇怪,但第三次成功了(我不知道最初的问题在哪儿);安装这个补丁就能获得语法标签高亮显示以及一些上下文敏感的函数或模块的帮助功能。除了标准版,我不知道是否有其它 IDE 能和 Mac 平台上的 Python 一同工作。幸运的是,Just van Rossum 编写的这个工具既非常符合 Python 的习惯,又有类似 Mac 的软件风格。
Komodo 是个刚发布的商业 IDE。(本次测评使用更新的 beta 版;请参阅 屏幕截图)。Komodo 是 ActiveState 的 多语言、多平台 IDE。一个有趣的决定使 Komodo 基于 Mozilla 框架构建。初看起来,Web 浏览器并不需要那么多对 IDE 有用的代码,但 ActiveState 充分利用了这一点(Mozilla 试图成为一个“平台”而不仅仅是一个浏览器,事实也的确如此)。Komodo 一年的定价为 295 美元,而免费 beta 版出现后该定价相当令人失望。而且,ActiveState 似乎违反了 Komodo 代码所取自的 Mozilla 的公共许可的精神(可能与原文有出入)。我希望 ActiveState 决定修改许可条例,来遵守开放源代码的惯例(可对技术支持和自动更新收费)。
我试用的 Beta 1.3 支持 Python、Perl、TCL、Javascript 和 XML 的开发,并支持其他几十种语言的语法标签高亮显示(但没有更多语言支持)。Python 支持是目前最强的。现有一个支持 Win32 和 Linux 的 beta 版,并将陆续支持其他平台。
现在让我们来分析购买 Python IDE 的方法吧。人们通常认为商业产品会提供额外的功能而值得花钱购买。在某些方面的确如此。 WingIDE的售价是 100 美元。 BlackAdder 的售价是 80 美元(仅限在个人系统上使用)和 400 美元(可将 BlackAdder 的运行组件一同分发给其他人)。可惜的是,我发现这两种产品都不足够稳定,无法推荐给各位用于实际开发。若是不能用于实际开发的 IDE,那么常规功能就并不值那么多。但愿这两种产品能通过新版本或修正补丁而有所提高。
BlackAdder 是在 linux 和 windows 下的基于 QT 的开发环境;请参阅 屏幕截图。在本专栏提到的产品中,该产品是唯一带有表单设计器的一款,而且表单设计器自身做得很优秀(用于 PyQT 编程)。就象 Delphi、Visual Basic 和类似工具,您可以把小工具放置在面板上,在“属性”表单中调整属性与行为。元素的图标有些呆板,特别是变灰的时候,但美观并不是很重要。源代码编辑器提供代码合并和语法标签高亮显示,但没有代码自动完成提示。BlackAdder 有个相当不错的调试器,除了缺少监视功能外其它与免费工具差不多。
BlackAdder 甚至 WingIDE -- 我测试的 1.0 和 1.1b3 版 -- 都因存在问题而无法推荐用作重大的开发。有许多讨厌的小地方,比如许可密钥设置过程和古怪的 -- 很可能是遗漏了 -- 工具条提示。而且,还有许多小的错误,比如缺少“打开最近文件”菜单项,因此,当程序运行时(不只是试验代码)您只能打开交互命令行解释器窗口。但这些问题都是小问题。致命问题是 WingIDE 会在我的 Mandrake 7.1 中随机产生分割错误。一旦发生该情况一切就都完了,您将丢失正在进行的任何工作。“经常保存”是个好建议,但这并不足以使 WingIDE 完全可用。
总结
对于喜欢结构化编程开发环境的程序员来说,一些优秀的 -- 还有些有前途但还不太优秀的 -- Python IDE 现在就能获得。全面地试用一下,因为即使是商业产品也有演示版;您将发现这些 IDE 是种加快开发过程的好方法。同时,密切注意本专栏的最新文章,我们还将测评一些其他 IDE 和已被测评产品的改进版本。
联系客服