[Pythonmac-SIG] a beginner's list

Bob Ippolito bob at redivi.com
Wed Feb 8 10:49:36 CET 2006


On Feb 8, 2006, at 1:06 AM, Kevin Ollivier wrote:

>> In addition, if you have your code running just fine and dandy under
>> Apple's python, then you upgrade to 10.5, chances are that your app
>> will
>> no longer work, as Apple is likely to yank their python out from  
>> under
>> you.
>
> What do you mean by this? None of my Panther scripts stopped working
> under Tiger (I do have a couple ;-), and I didn't even touch Python
> 2.4 on Mac until around October, where they still worked as they
> always did on 2.3. Why should I now assume 10.5 is going to break all
> my apps?

Unless you're a unix person, there's very few useful things you can  
do with Python 2.3 sans third party extensions (especially on  
Panther, where wx and tkinter were not shipped).  All of those  
extensions, or at least a .pth hack if you just did an upgrade, need  
to be installed to keep that working.  Applications built with py2app  
or bundlebuilder are even worse off.

Mac OS X 10.5 will surely ship with at least 2.4.2, which means all  
extensions built against any previous vendor Python will break,  
period.  Additionally, all of the WASTE-based stuff (the shipping  
Python IDE, the worthless PackageManager, etc.) is incompatible with  
i386.  Only the most basic mostly platform independent scripts are  
going to work with Mac OS X 10.5.

If a third party Python is used, it will work forever... or at least  
as long as Apple maintains basic API compatibility with the version  
of the OS it was built with (whether through emulation or  
otherwise).  I have Python applications built on Mac OS X 10.2 that  
work on i386 Mac OS X 10.4 because they used a third party Python.   
If those applications had depended on /usr/bin/python and extensions  
linked against it, then it would be toast -- especially because  
bundlebuilder doesn't have a PPC bootstrap.  bundlebuilder-built  
applications (assuming semi-standalone), without Info.plist changes,  
will launch with an i386 Python and almost definitely won't work at  
all unless they don't include any extensions at all.

If we do strongly recommend that only third party builds of Python  
are used, then we don't have to say "I told you so" to as many people  
when their apps break a year or two later.  The package database and  
the documentation also become shorter and more maintainable if only  
recent third party builds are supported.  There will be much less  
confusion if there's one-- and preferably only one --obvious way to  
use Python on Mac OS X.

Given these caveats and limited resources, the vendor Python is  
absolutely irrelevant as far as I am concerned.  If someone wants to  
deal with separate support and documentation for what ships with Mac  
OS X 10.3, Mac OS X 10.4, and Mac OS X 10.5 then have fun, but I am  
NOT interested in that.

-bob



More information about the Pythonmac-SIG mailing list