InfoWorld review: Nine fine Python development tools
A wide-ranging flock of Python IDEs offer great options for Windows scripting, GUI applications, Web frameworks, multilanguage development, and more
Python has certainly distinguished itself as a go-anywhere, do-anything language. As a language for desktop application development, it can be found behind the Resolver One spreadsheet. As an embedded script language, it's inside the highly respected Blender graphics package and the Rhythmbox media player. It is the binding glue of the Sage open source math package and the Portage package management system of Gentoo Linux. On the Web, it powers the highly popular Zope, TurboGears, and Django frameworks. The list goes on, as any quick Google search will show.
Object-oriented and dynamic, Python encourages rapid, iterative, and almost exploratory development. But good Python development starts with a good Python IDE. In this roundup, I examine nine Python development environments, many open source, but some commercial. They are Boa Constructor, Eric, ActiveState's Komodo, Oracle's NetBeans, Aptana's Pydev, PyScripter, SPE, Spyder, and WingWare's Wing IDE.
Of course, there's also IDLE, the IDE supplied with Python itself. Written using the Tkinter GUI toolkit, IDLE opens instantly into an interactive console. It has no notion of a project, nor is there an included GUI builder. Its configuration is minimal, dealing mainly with fonts, colors, and shortcut keys.
Its debugger is bare bones too, but it gets the job done. Activate the debugger, and when you run an application it starts up immediately. Buttons let you single-step, step over, or step out; also, you can set breakpoints by right-clicking the line in the text editor. While debugging, IDLE provides a view of the current stack and locals. You can activate views for source and globals; from the source view, IDLE will highlight the line that is the current execution point. IDLE is a no-nonsense IDE for editing and debugging Python modules and files as single entities. Many Python developers need more.