On Jun 28, 2005, at 3:02 PM, Blake Watters wrote:
> Hi all -
>
> I've recently implemented an exception catching mechanism in my
> py2app bundle code (to report Python failures via the GUI). When
> the exceptions are caught, py2app isn't able to do any dependency
> analysis and the plugin is severely stripped down. So I thought no
> problem, we'll just directly import the modules again at the bottom
> of the source. This works -- but only to an extent. That is, when
> the modules are directly imported.
>
> We had placed the libraries into a set of tuples with the module
> name and a more meaningful end-user name like so:
>
> libraries = (("BlogWrapper", "Blog Syncing"),
> ("MailWrapper", "Email Share Transport"),
> ("POPWrapper", "Email Receive Transport"),
> ("TemplateWrapper", "Publishing Templates"),
> ("RecursiveDiff", "Text Diffing"),
> ("FoundationAdditions", "General"),
> ("BlogManager", "Blog Syncing"),
> ("BlogProfiles", "Blog Configuration"))
>
> When I iterate over the libraries like this:
>
> for library in libraries:
> __import__(library)
>
> No dependencies are discovered. When I do:
>
> import BlogWrapper
> import MailWrapper
>
> etc. Everything works correctly. I'm trying to understand what's
> happening here and find out how to iterate over the libraries
> tuples and help py2app do its thing. Maintaining two parts of the
> code that essentially do the same thing because of a lack of
> understanding is frustrating and less than ideal.
>
> Any insight, as always, is appreciated.
1. Read http://undefined.org/python/py2app.html#py2app-documentation
2. Do python setup.py py2app --help
3. Notice the includes option
4. Write a setup.py that uses it.
-bob
|