Python DevCenter
oreilly.comSafari Books Online.Conferences.


Understanding Network I/O: From Spectator to Participant
Pages: 1, 2, 3, 4

A. Installation Notes

This appendix provides notes on how to install Python and the Twisted framework. In most cases, it is quite easy to do so — even if you have little prior experience. For additional information, see the Python and Twisted home pages.

Python on Linux

Most Linux distributions include Python. To find out, try the command python at the shell prompt. If Python is installed, the interpreter will show its version, and start in interactive mode (hold down Ctrl and press D to exit).

If your Python is very old (e.g., version 1.5.2), you probably want to upgrade it. For example, the latest stable version of Twisted is not available for Python variants earlier than 2.2.X. When upgrading Python, do not delete your old version. Different Python variants usually coexist well, and your system might be relying on the older version for some of its functions.

Before upgrading Python, check that you do not already have a later version installed alongside the earlier one (i.e., as additional commands like python2.2). If so, you can use the additional command to explicitly invoke the more recent interpreter.

At the time of this writing, the most recent stable Python release is 2.3.2. Red Hat Linux users can download the RPMs. Do not forget the Tkinter RPMs if you wish to run the GUI example. Tkinter also requires Tk. The version on the Red Hat install disks should work fine, or search for tk at the bottom of the Red Hat download page.

To install the RPMs, copy them to a separate subdirectory, use the su command at the shell prompt to become the superuser (you will be asked the root password for the system), then rpm -i subdirname/*.rpm.

Debian GNU/Linux 3.0 ("woody") users can get a slightly older, 2.2.X series Python in just two steps. Become the superuser (su at the shell prompt, then enter the root password) and issue the command apt-get install python2.2-tk. In addition, you will need python2.2-dev (apt-get install python2.2-dev) if you want to install Twisted later.

On Linux, Python can also be built from source, usually without too much work. See Python on Other Platforms for details.

Python on Windows

Python is very easy to set up for Windows users. From the Python download page, click and run the executable installer. The link is to version 2.3.2 of Python, the latest at the time of this writing. Everything you need to use Tkinter is also included in the installation.

Python for Windows provides two variants of the interpreter: python and pythonw. The latter can be used to execute programs that do not require a console — such as the GUI example given earlier.

Python on Other Platforms

For Python on the Macintosh, see the MacPython download page.

In general, on Unix and compatible systems (such as Linux), Python can be built using the source code. Here is a brief synopsis of the procedure, quoted from the Python version 2.3.2 download page.

All others should download either Python-2.3.2.tgz or Python-2.3.2.tar.bz2, the source archive. The tar.bz2 is considerably smaller, so get that one if your system has the appropriate tools to deal with it. Unpack it with tar -zxvf Python-2.3.2.tgz (or bzcat Python-2.3.2.tar.bz2 | tar -xf -). Change to the Python-2.3.2 directory and run the ./configure, make, and make install commands to compile and install Python.

If you're having trouble building on your system, check the top-level README file for platform-specific tips, or check the Build Bugs section on the Bugs web page.

Note that the last command (make install) needs to be run as the superuser.

Twisted on Linux and Unix

At the time of this writing, the latest stable version of Twisted is 1.1.0. From the download page get the tar.gz or tar.bz2 archive (see Python on Other Platforms for a discussion of the difference between the two formats). You may need to scroll down on the page until you find the production version (downloads for the latest alpha release are sometimes listed first). Choose the archive with documentation included, unless disk space is really limited or your Internet connection is excessively slow.

After uncompressing the archive, change to that directory (using a shell), become superuser (root), and issue the command python ./ install. This will make Twisted available system-wide.

Twisted on Windows

The Twisted download page includes Windows installers. If the alpha version is listed first, scroll down on the page until you get to the stable release (1.1.0 as of this writing). Choose the installer with documentation, unless you are low on disk space or have a slow Internet connection. Make sure that you use the installer that matches the Python version that you installed earlier. Run the installer, and follow the prompts as usual when adding a new application under Windows.

Related Reading

Mastering Regular Expressions
By Jeffrey E. F. Friedl

B. Further Reading

This appendix provides additional notes on the resources referred to in the article. First, some of the classic papers ("The Design Philosophy of the DARPA Internet Protocols" and "End-to-End Arguments in System Design") on the design of the Internet are enlightening and fascinating to read. An understanding of the underlying architecture will help you in developing your own programs.

Regarding the use of regular expressions to analyze text, there are many online resources. Even the discussions that are not specific to Python can be a very useful guide. Two Python-centric resources on regular expressions are the "Regular Expression HOWTO" and the documentation of the re module itself. For an overview of recent developments in regular expressions — as well as how Python's implementation fits into the overall taxonomy — see "What's New with Regular Expressions." The article is written by the author of Mastering Regular Expressions, a book for those who really want to become experts in this area.

Python programming is also well covered in numerous books, articles and online resources. The Python web site, for example, has an excellent documentation section. In particular, the tutorial is a quick but gentle introduction to the language. Python comes with a large, diverse library; the documentation is accessible via the library reference and module index pages. "An Introduction to Tkinter" provides a very helpful tutorial on this Python GUI library.

Papers from PyCon DC 2003 are available online, several on Twisted. The Twisted framework's web site also provides extensive documentation. In particular, the "howto" and example pages offer plenty of easy-to-follow information on the many diverse facilities of this system.

C. Example Files

Download examples and other files related to this article: or python_nio.tar.gz.

George Belotsky is a software architect who has done extensive work on high-performance internet servers, as well as hard real-time and embedded systems.

Return to Python DevCenter.

Sponsored by: