Notice: While Javascript is not essential for this website, your interaction with the content will be limited. Please turn Javascript on for the full experience.

Python 2.3.1

Python 2.3.1

Note: See Python 2.3.5 for a patch release release which supersedes earlier releases of 2.3.
Important: This release is vulnerable to the problem described in security advisory PSF-2006-001 "Buffer overrun in repr() of unicode strings in wide unicode builds (UCS-4)". This fix is included in Python 2.4.4 and Python 2.5. If you need to remain with Python 2.3, there's a patch available from the security advisory page.
Important: 2.3.5 includes a security fix for

We are pleased to announce the release of Python 2.3.1 on September 23, 2003. This is a bug-fix release for Python 2.3 and supersedes the original Python 2.3 release.

No new features have been added in Python 2.3.1. Instead, this release is the result of two months of bug hunting. A number of obscure bugs that could cause crashes have been fixed, as well as a number of memory leaks.

Please see the separate bugs page for known issues and the bug reporting procedure.

Download the release

Windows users should download the Windows installer, Python-2.3.1.exe, run it and follow the friendly instructions on the screen to complete the installation. Windows users may also be interested in Mark Hammond's win32all, a collection of Windows-specific extensions including COM support and Pythonwin, an IDE built using Windows components.

RPMs suitable for Redhat and source RPMs for other RPM-using operating systems are available from the RPMs page.

All others should download Python-2.3.1.tgz, the source archive. Unpack it with "tar -zxvf Python-2.3.1.tgz". Change to the Python-2.3.1 directory and run the "./configure", "make", "make install" commands to compile and install Python.

What's New?

  • See the highlights of the Python 2.3 release. As noted, the 2.3.1 release is a bugfix release of 2.3.

  • The Windows installer now includes the documentation in searchable htmlhelp format, rather than individual HTML files. You can still download the individual HTML files.

  • Andrew Kuchling's What's New in Python 2.3 describes the most visible changes since Python 2.2 in more detail.

  • A detailed list of the changes is in the release notes, or the Misc/NEWS file in the source distribution.

  • For the full list of changes, you can poke around in CVS, or see the ChangeLog of individual checkin messages since 2.3.

  • The PSF's press release announcing 2.3.1.


The documentation has been updated too:

The interim documentation for new-style classes, last seen for Python 2.2.3, is still relevant for Python 2.3.1. Raymond Hettinger has also written a tutorial on descriptors, introduced in Python 2.2. In addition, The Python 2.3 Method Resolution Order is a nice paper by Michele Simionato that explains the C3 MRO algorithm (new in Python 2.3) clearly. (Also available as reStructured Text. Copied with permission.)

Files, MD5 checksums, signatures, and sizes

a3dcbe1c7f173c8e3c7cce28495016ae Python-2.3.1.tgz (8558611 bytes, signature)
2cff4d8a54ad3535376b7bce57538f7a Python-2.3.1.exe (9583272 bytes, signature)

The signatures above were generated with GnuPG using the release manager's (Anthony Baxter) public key which has a key id of 6A45C816.