[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