Livid.

Feb 27, 2009 16:52

The short version is that I've just lost about six hours of work because Apple COMPLETELY BROKE one of the programs I really, really need for school.

I do a lot of what people call "scientific computing". It used to be that Matlab was the standard, but in recent years a set of libraries for Python has been making a lot of headway. That would be NumPy for basic numerical computation; SciPy for more advanced statistical stuff; MatPlotLib for graphics; and iPython as an interactive command line. I switched over recently because I needed database support, and SQLAlchemy blows away anything Matlab offers. My lab uses linux boxes, and it's a snap to install all of these with a package manager. When I had a PC laptop, I just downloaded installers and everything worked. And Macs are the kings of "everything works", right?

Apple now ships Python with their systems. In fact, they ship NumPy as well, so you don't even need to install it. Great!

No, not great. They ship an old version of NumPy. If you try to install SciPy, it breaks because it needs something newer. If you install a new version of NumPy by any means, it still doesn't work, because the preloaded NumPy is in a nonstandard install location that has priority on the path. So, when you install a new version of NumPy, it installs to the right location. And when you try to load NumPy, the preloaded version takes precedence because of the path, breaking everything. Worse, it breaks everything SILENTLY. The search-path pattern, with this precise problem of silent importing, is one of the reasons to switch from Matlab to Python in the first place.

I would far prefer that Apple simply NOT SHIP NumPy with the system if this is how they're going to do it. I completely understand that they need to ship an old version of NumPy, because they need to have a rock-solid stable build of their system for production. This makes all the sense in the world. What I CANNOT UNDERSTAND is why they decided to put it in a nonstandard location, because this cripples the software. Given how many other useful libraries they put into their special folder (/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/ contains things like OpenSSL, CoreGraphics, libSVN, and wxPython), I'd be shocked if they aren't breaking a lot of other stuff, too. In my searches, I've already seen complaints about SVN, py2app, and readline (implemented with wxPython), but I hadn't put it all together until now. Lord knows nobody would EVER want to upgrade OpenSSL, right?

This problem has been bouncing around the forums for, literally, years now. But it's really, really hard to find with Google, because this issue gets lost among all the other problems people have with installing NumPy and SciPy on a Mac, like needing a FORTRAN compiler or some special Python and C libraries.
Previous post Next post
Up