“人生苦短,我学Python”,为Python构建的IDE当前处于比较尴尬的富有状态。数量一多自然有的广受欢迎,有的鲜少被问津。目前比较受欢迎的可能就是PyCharm,带有一整套可帮助用户在使用Python语言开发时提高效率的工具。但任何一样东西的存在都有其意义,今天我们就来看看有哪些被忽视了的IDE吧!


1、Eric6

很像Python的原生IDE IDLE,Eric6是一个用Python语言编写的Python IDE ,虽然它使用的QT5 UI框架提供了一个比IDLE更复杂的UI,而且入门还需要一些组件配合,但是,由于Eric6本质上是一个有几个重度依赖的Python包,例如Qt5的Python绑定。所以入门Eric6意味着理解Python的包管理,这一点可能不太吸引初学者,也是导致Eric6容易被忽视的原因。安装程序脚本会提供反馈,让你知道哪些软件包需要提取,并继续安装直到设置完成(PyQt5,QScintilla)。

把安装过程放在一边,Eric6功能齐全。它具有现代IDE常见的实用程序,如类浏览或版本控制,还集成了对特定Python功能的支持,如unittest,PyLint和cx_freeze应用程序分发系统。在Eric6中创建新项目也可以构建为PyQT4/5 GUI和控制台应用程序,因为底层库已经安装,尽管缺省情况下不包括其他开发工具,如Qt表单设计器。

2、Wing IDE

作为“Python程序员的智能开发环境”,Wing IDE强调专门为Python用户设计的功能集成。它还是许多流行的Python框架(Django,Zope,Plone),包(PyQT,wxPython,PyGTK)和第三方应用程序(Maya,Blender)的详细集成。Raspberry Pi用户也可以使用Wing IDE进行开发。

Wing是一个商业性产品,但它有两个免费版本,对独立开发商和初学者有很多优惠。Wing IDE缺少了很多高级功能,包括开发人员可能使用的许多日常功能(书签,模块浏览,重构),但它不失为一个Python开发的好办法。个人版本也是免费的,恢复了许多但不是所有专业级功能。而专业版有一个30天的试用,永久使用或年度许可则是收费的。

3、Pyzo

有时你可能只需要这么多。Pyzo是一个小IDE,主要针对研究科学计算的用户,有一个小工具集:编辑器,交互式shell,文件浏览器,源结构浏览器和一些其他设施。它主要用于与库快速交互,可以在Python的REPL中键入命令或执行单个文件,而不是正式的应用程序开发。在这个意义上,它不太适合那些想要创建应用程序的人,更适合那些想要把Python作为工作台环境的人。

为了便于解压和开发,Pyzo提供了平台本地可执行文件,无需将运行时拼凑在一起。它将与现有的CPython运行时协同工作,其创建者推荐Continuum Analytics的Anaconda发行版的简略版本——miniconda,这使获得软件包和附加组件很容易。

4、Thonny

初学者希望使用Python润色,往往会转向IDLE,但是Thonny也是一个不错的小型IDE,对初学者来说是一个更轻松的选择。在Windows,Mac或Linux上均可用,它还可以节省用户下载或配置Python解释器的精力。Python的最新版本(目前为3.5)与Thonny捆绑在一起,IDE默认开箱即用。

默认情况下,Thonny安装在用户的配置文件目录中,因此它不需要提升权限来设置或使用。当在一个相当大的程序上使用集成调试器时,IDE自身会抛出一些错误。因此,Thonny是最好的自助服务教学工具,而不是一个完整的软件开发环境。

5、NINJA-IDE

NINJA-IDE是一个独立的项目,并且可以像专业级开发工具,如ActiveState的Komodo IDE或PyCharm一样,而且它的功能集是由Python用户构建的。例如,NINJA-IDE的“首选项”对话框有一个标签,用于在运行程序时使用Python解释器,以及用于启用或设置解释器的所有命令行选项的复选框。IDE中的另一个选项卡默认显示为Migration 2to3,因此可以分析Python 2.x编写的脚本并提出建议。

6、Visual Studio Code

这是微软的重要产品,简单精益的代码编辑器从支持不同语言的扩展中获得力量。Python开发人员也可以使用Visual Studio Code,最重要的是Don Jayamanne扩展。它与所有最新版本的Python保持同步,并集成了所有你想要的支持:代码linting,与科学工具集成,如Jupyter,重构,单元测试,调试和更多。

7、Atom

GitHub的Atom是由一些与Visual Studio代码相同的部分构建的,但它最大的相似之处是设计理念:保持精益,并通过外部包添加语言或特定功能。对于Python用户,关键的部分是包:language—python用于基本语法突出和snippet支持,python—tools提供一些方便的功能,如快速重构,autocomplete-python支持自动完成,具体功能还是取决于你使用的Python包。