[Pythonmac-SIG] py2app on Tiger
bob at redivi.com
Thu Mar 17 03:39:47 CET 2005
On Mar 16, 2005, at 9:13 PM, Kevin Dangoor wrote:
> Given the buzz that Tiger is coming in a month, I was curious about
> whether it's possible to create Python apps on Tiger and run them on
> Panther (assuming, of course, that I'm not using Tiger features). I'm
> already using my own Python build, if that makes any difference.
> I'd really like to upgrade to Tiger, but even more than that I'd
> really like for people running Panther to be able to buy my software
You *may* need to compile the Python framework and all of the
extensions that you use on Mac OS X 10.3 (Panther). If you *do*
compile them on Mac OS X 10.3, then they will surely work on Mac OS X
10.3. If you compile them on Mac OS X 10.4 (Tiger), they *might* work
on Mac OS X 10.3. It really depends on how they're written, what they
link to, and how they link to it. Testing is necessary.
In general, Python itself MUST be compiled on the minimum target
platform, because its configure scripts and stuff will pick up features
and use them regardless of how hard you try and prevent it from doing
so with MACOSX_DEPLOYMENT_TARGET and usage of SDK paths. Extensions
are usually less complicated and you may have more luck with that.
PyObjC compiled on Mac OS X 10.4 probably won't work with Mac OS X
10.3, most other things *probably* will. Again, testing is necessary.
All that said:
Since you're going to have to test on the minimum target platform
anyway, you might as well compile everything there.
My recommendation is to:
- Build your framework on the minimum target platform
- Copy it over to your workstation
- Use bdist_mpkg to build installer packages for the extensions you
use from the minimum target platform
- Install them on your workstation as needed
py2app doesn't compile anything, so it doesn't care which OS it runs
on. I have a Python framework plus extensions that were built on Mac
OS X 10.2 (Jaguar) that I use to build a Mac OS X 10.2 compatible
application with from Mac OS X 10.3.
More information about the Pythonmac-SIG