[Pythonmac-SIG] Versions, Frameworks, Linking, PantherPythonFix

Roger Binns rogerb at rogerbinns.com
Tue Feb 22 18:18:19 CET 2005


> so if you build all of your extensions on a 10.2 environment 

BTW I don't actually have a 10.2 environment.  The Mac Mini comes
with 10.3.

> In other words for a maximally redistributable application:
> - Install PantherPythonFix immediately, on any Mac OS X 10.3 machine 
> that you will use distutils on, without hesitation

My biggest 3rd party dependency is wxPython.  Is there any way of 
telling if it was built on a machine with the fix applied?

> - Build your application and all extensions on the lowest common 
> denominator version of Mac OS X *not* using the vendor Python.

I don't see a MacPython for 10.3.

>  I don't really care about Linux 
> -- I'm sure it's possible to bundle the vendor Python with your 
> application, but I'm not sure why you would do such a thing.  Is that 
> default behavior for cx_Freeze?

It is the default behaviour of both py2exe and cx-Freeze to bundle the
Python interpretter with your app.  No distinction is made between
vendor and non-vendor.  I believe they can also both be made to not
include an interpretter, but that is *very* rare.

The simple reason for always including the interpretter is because
you know things work.  Otherwise you are at the mercy of whatever
can be on other machines which will generally various incompatible
versions.  (On Linux Python is randomly compiled as two bytes per
unicode char on some machines and four bytes on others.)  For
non-trivial apps, there isn't much in the way of binary compatibility.
For example, look at the most popular app on SourceForge, and how
they have different downloads for each Linux distro and version:
   http://gaim.sourceforge.net/downloads.php

Roger


More information about the Pythonmac-SIG mailing list