On Fri, Mar 9, 2012 at 7:22 AM, Ronald Oussoren > Py2app will never be able to do everything, but I'd prefer to get closer than > we're currently.
A laudable goal, for sure -- and we much appreciate your work on py2app. > Are there things you have to do every time that could > (easily) be expressed as configuration for py2app? As suggested, 'include', 'excludes', and 'packages' could perhaps be more robust. I haven't checked recently -- have you fixed the issue where you had to explicitly include the parent package when you want to includ ea sub-package? ie. you want to be able to : import libA.libB (but nothing else in libA) IN the past, I've had to do: packages = ['libA', 'libA.libB'] ANother major thought: I've thought that maybe we need a way to build a module graph from run-time information, rather than code inspection -- that would address both: importing packages you don't need and fancy dynamic imports. The trick is that you'd need to have a way to run your code that guaranteed that eveything ws imported that might be needed (i.e. dynamci import), but it seems that you'd want test code that did that anyway. I may be missing something, but it seems all you'd need to do is look at sys.modules, and write out a modulegraph (or would it even need to be graph? a simple list would do...) Then Py2app would need a way to load the modulegraph (or list) from a file. Even without a runtime inspector -- this could be handy as you could: 1) only re-run the code inspection part when you knew you'd added a module, rather than on every build 2) you could tweak the module graph by hand and re-use it, rather than tweaking the resulting package. Anyway, maybe too much architectural work for now... > 1) I added a py2app recipe that does the right thing > with the pubsub library in wxPython. That library uses > __path__ hacks and that confuses modulegraph (and > hence py2app). Because of this you no longer have to > explicitly include 'wx' in the application bundle Very nice! I happen to need that for a project right now. > 2) I tweaked the matplotlib recipe in py2app, it no > longer copies the entire package but adds a hook to > tell matplotlib where its data is. This solution is not fully > complete yet, I'm currently including mpl-data twice > (once in Resources, once in site-packages.zip) and > the later copy is not needed. also nice -- did you use: matplotlib.get_py2exe_datafiles() That is handy for py2exe. Thanks for you work... -Chris It seems that python is slowly moving towards a more declarative way of specifying builds using a setup.cfg file instead of setup.py though the distutils2/packaging project and py2app should do the same when that happens (without dropping support for setup.py files of course). > > Ronald > -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG