MacPython on Mac OS X 10.3Apple have included the complete MacPython 2.3 ``engine'' in Mac OS X 10.3, basically everything except the IDE and Package Manager. So the only thing the MacPython distribution for 10.3 contains are the IDE, the Package Manager and the waste module on which they depend. You can get this distribution from the download page. The downside of Apple including 2.3 is that running MacPython 2.3.3 on Mac OS X 10.3 is a bit of a problem: when you install the full MacPython 2.3.3 distribution (the one labelled here as MacPython 2.3.3 for 10.2) the two installations may get confused when you build extension modules. We hope to solve this for 2.3.4, and in the mean time you can visit the FAQ for some workarounds if you really need 2.3.3.
MacPython on Mac OS X 10.2
MacPython-OSX 2.3.3 is a distribution of Python that contains a complete unix-Python plus a number of Mac-specific extras. It is available in both source and binary form for Mac OS X 10.2 or later (but see the caveat above if you want to run this on 10.2).
When compared to a standard unix Python MacPython includes the following additional features:
The Python Package Manager helps you install additional packages that enhance Python. It determines the exact MacOS version and Python version you have and uses that information to download a database that has packages that are test and tried on that combination. In other words: if something is in your Package Manager window but does not work you are free to blame the database maintainer.
The standard Package Manager database includes a relatively small number of packages, including:
In addition to the official database there is an experimental database, with packages still under test, and there are third-party databases. All these are listed on the Package Manager page on the main Python website.
What about Mac OS X 10.1?There is one showstopper bug: MacPython applets don't work on 10.1, and the IDE and others are applets. If someone with enough interest in fixing this wants to have a look: the relevant information is in Python bug #781445. We may also have a solution, but we are not sure we can use it for Python 2.3 because of backward-compatibility. Speak up on the mailing list if you are interested in this subject.