[Pythonmac-SIG] bundle-builder suggestion

Bob Ippolito bob at redivi.com
Fri Mar 19 12:15:56 EST 2004


On Mar 19, 2004, at 11:39 AM, Chris Barker wrote:

>
>
> Bob Ippolito wrote:
>>  As long as all you depend on is
>> code, the currently-unnamed-next-generation-bundlebuilder should be 
>> able to --standalone it (unless it is a /System Python, which are not 
>> allowed to be --standalone'ed because it doesn't make sense).
>
> Why doesn't --standalone make sense for the System Python? As someone 
> pointed out, an OS-X 10.3 user doesn't necessarily have Python 
> installed, and who knows what will happen in future versions of OS-X? 
> If you want to make an bundle that will run on future versions, it 
> might make sense to bundle in all of Python, so that it won't depend 
> on Apple delivering an old version along with a new version in future 
> versions of OS-X.

They do necessarily have Python installed, they do not necessary have a 
symlink to it in /usr/bin.  There is a big difference between the two.  
The new bootstrap (PyMacApp) works in both scenarios, because it 
depends on the existence of a Python framework, not on the existence of 
a Python interpreter.

It does not make sense to bloat executables because it MAY OR MAY NOT 
support an operating system that will not be released for quite a few 
months.  --standalone leads people to believe that it's compatible with 
PREVIOUS versions of OS X, and it most certainly IS NOT when used in 
conjunction with a Python (and Python extensions) built on OS X 10.3 
using standard means, especially the one that comes with the OS.

> I see this as analogous to dynamic vs static linking. If you 
> dynamically link, you are dependent on those libraries you link to 
> being present on all systems you want your app to run on. It has it's 
> advantages, but statically linking is safer, particularly if the 
> library in question (in this case Python) is somewhat obscure, and 
> doesn't have a lot of history with the OS vendor.

Yes, exactly, and if you want it to be (roughly) equivalent to static 
linking than you better use a Python that you have control over!

-bob




More information about the Pythonmac-SIG mailing list