3.2 Python Development Environments
The Python
interpreter's built-in interactive mode is the
simplest development environment for Python. It is a bit primitive,
but it is lightweight, has a small footprint, and starts fast.
Together with an appropriate text editor (as discussed later in this
chapter) and line-editing and history facilities, it is a usable and
popular development environment. However, there are a number of other
development environments that you can also use.
3.2.1 IDLE
Python's
Integrated DeveLopment Environment (IDLE) comes with the standard
Python distribution. IDLE is a cross-platform, 100% pure Python
application based on Tkinter (see Chapter 16). IDLE
offers a Python shell, similar to interactive Python interpreter
sessions but richer in functionality. It also includes a text editor
optimized to edit Python source code, an integrated interactive
debugger, and several specialized browsers/viewers.
3.2.2 Other Free Cross-Platform Python IDEs
IDLE is mature, stable, easy to use, and
rich in functionality. Promising new Python IDEs that share
IDLE's free and cross-platform nature are emerging.
Red Hat's Source Navigator (http://sources.redhat.com/sourcenav/)
supports many languages. It runs on Linux, Solaris, HPUX, and
Windows. Boa Constructor (http://boa-constructor.sf.net/) is
Python-only and still beta-level, but well worth trying out. Boa
Constructor includes a GUI builder for the wxWindows cross-platform
GUI toolkit.
3.2.3 Platform-Specific Free Python IDEs
Python is
cross-platform, and this book focuses on cross-platform tools and
components. However, Python also provides good platform-specific
facilities, including IDEs, on many platforms it supports. For the
Macintosh, MacPython includes an IDE (see http://www.python.org/doc/current/mac/mac.html).
On Windows, ActivePython includes the PythonWin IDE. PythonWin is
also available as a free add-on to the standard Python distribution
for Windows, part of Mark Hammond's powerful
win32all extensions (see http://starship.python.net/crew/mhammond).
3.2.4 Commercial Python IDEs
Several companies sell commercial Python IDEs, both cross-platform
and platform-specific. You must pay for them if you use them for
commercial development and, in most cases, even if you develop free
software. However, they offer support contracts and rich arrays of
tools. If you have funding for software tool purchases, it is worth
looking at these in detail and trying out their free demos or
evaluations. Most work on Linux and Windows.
Secret Labs (http://www.pythonware.com) offers a Python
IDE called PythonWorks. It includes a GUI designer for Tkinter
(covered in Chapter 16). Archaeopterix sells a
Python IDE, Wing, notable for its powerful source-browsing and
remote-debugging facilities (http://archaeopterix.com/wingide). theKompany
sells a Python IDE, BlackAdder, that includes a GUI builder for the
PyQt GUI toolkit (http://www.thekompany.com/products/blackadder).
ActiveState (http://www.activestate.com) has two Python
IDE products. Komodo is built on top of Mozilla (http://www.mozilla.org) and includes remote
debugging capabilities. Visual Python is for Windows only, and lets
you use Microsoft's multi-language Visual Studio
.NET IDE for Python development.
3.2.5 Free Text Editors with Python Support
You can edit Python source code with any
text editor, even simplistic ones such as
notepad on Windows or ed on
Linux. Powerful free editors also support Python, with extra features
such as syntax-based colorization and automatic indentation.
Cross-platform editors let you work in uniform ways on different
platforms. Good programmers' text editors also let
you run, from within the editor, tools of your choice on the source
code you're editing.
Top of the league for sheer editing
power is a classic, emacs (http://www.emacs.org, and http://www.python.org/emacs for
Python-specific add-ons). However, emacs is not
the easiest editor to use, nor is it lightweight. My personal
favorite is another classic, vim (http://www.vim.org), the modern, improved
version of the traditional Unix editor vi.
vim is fast, lightweight, Python-programmable,
and runs everywhere in both text-mode and GUI versions.
vim, like vi, has a modal
design, which lets you use normal keys for cursor movement and text
changes when in command mode. Some love this as an ergonomic trait,
minimizing finger travel. Others find it confusing and detest it.
Newer editors challenge the classic ones. SciTE (http://www.scintilla.org) builds on the
Scintilla programming language editor component. FTE (http://fte.sf.net) is also worth trying.
Other advanced free editors with Python syntax support are
platform-specific. On Windows, try SynEdit (http://www.mkidesign.com/syneditinfo.html).
On Unix-like systems, try Glimmer (http://glimmer.sf.net), and Cooledit
(http://cooledit.sf.net), which also offers
Python programmability, like vim, but without
vim's modal
architecture.
|