[Pythonmac-SIG] py2app build problems

Bob Ippolito bob at redivi.com
Sat Aug 12 04:34:48 CEST 2006


On 8/11/06, William Kyngesburye <woklist at kyngchaos.com> wrote:
> I have a setup.py I generated from py2applet which I've expanded to
> copy in all the shell scripts and binaries and support files needed
> for an application (py2app is just for the app startup, the app is
> all shell scripts and C binaries).

This use case isn't really covered very well by py2app. It's designed
to build Python applications. It can probably be used for that, but
you're mostly on your own.

> - I have dylib_excludes worked out so it doesn't pull in a bunch of
> extra frameworks (3rd party stuff) that are expected to be installed
> separately.  One odd thing there, before I excluded them: a couple
> frameworks are wrappers (umbrella framework) for a collection of unix
> libraries or make use of a bunch of unix libraries, included in the
> framework.  py2app copied the whole framework, then duplicated the
> included libraries needed by the framework in the top level of the
> Frameworks folder, like (simplified):

file a ticket for this:
http://trac.pythonmac.org/py2app/newticket

> If I wanted to include the frameworks, it would be a mess.
>
> - the dylib exclude option is not working for dylibs, just
> frameworks.  I've tried various forms: the full path as specified in
> the install name, libfoo, libfoo.dylib, libfoo.version.dylib.  It
> still copies them.

This should be a separate ticket.

(if you don't file tickets, I can pretty much guarantee I'll forget to
do anything about it in any reasonable timeframe).

> - for libraries installed from the software, it's pulling in
> installed copies (makes sense, since that's where the install name
> has them).  But these may be older than the ones I've just built for
> the app package and haven't installed yet.

macholib respects all of the DYLD environment variables. If you want
it to pick up libraries from some other location, start setting them.

> given the various issues with pulling in libraries and frameworks, an
> exclude option that would be nice is to exclude all libraries/
> frameworks, without having to figure out what they might be and
> listing every one, a 'dylib_excludes: all' option.  I would rather
> install needed libraries manually anyways (as resources), and the
> application sets DYLD_LIBRARY_PATH already so relative paths aren't
> needed.

This option is called --debug-skip-macholib

-bob


More information about the Pythonmac-SIG mailing list