Upgrading the system Python on Mac OS X isn't easy because it's not something you should do. See http://stackoverflow.com/a/1541850 for something of an explanation about this.
My point exactly. A well-designed OS shouldn't require you to keep multiple versions installed on a machine like that. I have exactly two versions of Python on my box (a 2.7.x and a 3.x), and since I don't need to do development testing of libraries against multiple versions, that's all I should need. (And we're just talking about development tools and installation here - what about all of the other aspects of package management, which OS X completely neglects?)
In this case the problem is that libraries may not detect the alternative versions of Python if System Python is still installed. But the prepackaged versions of Python won't always install properly if you already have a Python on your system, so you're in a catch-22.
I mean take a look at the installation instructions for Matplotlib[1]. It takes about two lines to explain how to install it on Windows, and more than half the page to explain different things you have to try to get it to work on OS X. And that's not counting the copious other errors and hacks that you'll find if you try Googling the OS X installation issues.
Let's face it: if it's orders of magnitude easier to install a well-designed library on Windows than your OS, you have a problem with your OS.
> A well-designed OS shouldn't require you to keep multiple versions installed on a machine like that.
A well-designed OS should require you to install a separate version of Python if the version it provides does not suit your needs. Replacing the system version of Python means that any system components that use Python are now running in an untested configuration and may break in mysterious ways. Installing your new version elsewhere removes that concern.
> prepackaged versions of Python won't always install properly if you already have a Python on your system.
If a prepackaged version of Python for Mac OS X won't install if you already have Python on your system, then it's broken. It's that simple. Mac OS X has shipped with Python installed for years, so such a package would not install on any modern Mac OS X installation.
> I mean take a look at the installation instructions for Matplotlib.
I don't know that using Matplotlib as an example really supports your argument.
The installation notes about Mac OS X are a mess, but from my reading of that page it says as much about Matplotlib as it does about the state of Python on Mac OS X. On that page they recommend a third-party distribution of Python named EPD, but then go on to talk about how EPD has issues building Matplotlib on some versions of Mac OS X. Why would they recommend a version of Python that can't build their software? The page also spends a bunch of time talking about older versions of Matplotlib, and about packaging mechanisms that they no longer use. Neither of those things are relevant to the average person that is getting up and running with Matplotlib on Mac OS X.
As far as I can tell, this is exactly the same process as for Matplotlib on Windows. Right down to installing a version of Python from python.org. I'm not even sure that's strictly necessary. The hand-wavy mention of problems with the system version of Python on the installation page are so void of context and detail that they're impossible to evaluate.