[Pythonmac-SIG] py2app Enforces Directory Structure?

Bob Ippolito bob at redivi.com
Thu Dec 23 01:54:26 CET 2004


On Dec 22, 2004, at 7:31 PM, Erik Westra wrote:

> Anyway, enough on this.  I just wanted to thank you for the fantastic
> work you've done on py2app.  I'm amazed -- I've packaged our company's
> various applications to work under Linux and Windows, using both the
> MacMillan Installer and py2exe, and py2app is by far the most
> trouble-free solution I've ever found (once you helped me out with
> getting sibling modules importing correctly).  The system I bundled up
> last night makes heavy use of wxPython, docutils, PIL, pySQLite, and
> ReportLab -- and it all works perfectly right out of the box.  The
> generated application is slightly bigger than the Windows version (the
> compressed disk image is 11 megs, compared with 8 megs for the
> equivalent installer under Windows), but that's acceptable.  I can't
> believe that py2app simply handled all the dependencies and
> complexities of these various tools right out of the box.

py2app has special considerations so that it (makes one hell of an 
attempt to) get wxPython, docutils, and PIL packaged correctly out of 
the box.  There are a few other packages on its "hit list", but most 
stuff tends to Just Work without too much special casing.  The downside 
is that in some cases, it will include more than you want (especially 
for PyQt), but at least your application will work.  After using py2exe 
and reading the wiki, mailing lists, etc. I decided I would try very 
hard to make py2app do the right thing with the minimal amount of 
training (for both the user and the setup.py) and I think I've more or 
less done that.

Most of the work I've done with regard to all this magic behavior is 
cross-platform and is mostly in the "altgraph" and "modulegraph" 
packages in the py2app distribution.. so if someone were so inclined, 
they could soup up py2exe, cx_Freeze, etc. leveraging this work.  I 
might do this myself at some point, but not soon.  Maybe I'll try and 
PEP it into Python 2.5.

-bob



More information about the Pythonmac-SIG mailing list