From: Roger B. <ro...@ro...> - 2004-03-15 17:46:42
|
> I have no idea what the state of 'freeze' on Macs is, to be honest - > I'm a python newbie. (I do use ActiveState's 'PerlApp' under Windows > and the open-source 'PAR' package under Unix (including MacOS X) for > packaging Perl scripts as executables.) For BitPim we do use different tools on each platform, as they all have different strengths and weaknesses. It is definitely a goal that there should be no need for anything to be already installed by the user. That goal is met 100% on Windows and Linux. On Windows Python itself is a DLL. py2exe produces a zip of all your .py code, and then has a stub executable that loads the DLL, and sets the zip as the code path. (See python-dev group for some proposals for Python automatically finding the zip, removing the need for even the stub executable). Since zip files as an import source were only introduced in Python 2.3, that approach doesn't work with earlier versions. On Linux we use Python 2.2, and the cx_Freeze tool. That packages up the Python binary with the code appended to the file and stub code to set things up right (ie similar to zip but using custom code and archive format) I believe that all the mechanisms will move over to the zip method but that will set the minimum supported Python version as 2.3. We also make sure we use "standard" stuff, and don't modify any other components. For example I could install Python 2.3 on Linux and base everything off that, but that would be a non-standard installation. Similarly we could benefit from moving up to the developer version of wxPython+wxWidgets. As Steven can tell you, I don't do that either :-) If in your opinion something can be done better, then please contribute that to the necessary place (in this case whoever makes bundlebuilder). Also be very aware that there may be good reasons why they did things the way they did. Also be aware that they may be concerned about backwards compatibility (eg working with both Jaguar and Panther). But this is what open source is about - you get the best from everyone rather than one what secretive arbitrary team of people make. Roger |