At 01:37 PM 12/11/2005 -0800, Bob Ippolito wrote: >I'm currently refactoring PyObjC and py2app to be setuptools- >friendly, but one issue I'm coming across is that PyObjC is a large >package, and normally people wouldn't want to include all of it. The >way to do that would be to split it up into lots of eggs, so py2app >can include the subset of eggs that are necessary. > >The issue at hand is how to structure the setup.py to support >creation of multiple eggs, with an egg for installation purposes that >depends on everything. PyObjC can be broken up into about 30 eggs, >one for each package, one for the Xcode support (which depends on >py2app and altgraph), one for all of the tests (or maybe separate >eggs for each test suite). Obviously I'm not looking to create 30+ >setup.py files, so what do I do?
Um, create a script to generate the setup.py files for you? ;) If you don't mind building everything together, you could just create a data structure and then call setup() in a "for" loop that loops through all the projects... no, scratch that, it won't work unless you clean out the build directory every single time. Seriously, distutils isn't made for this. I originally intended to make setuptools do something like it for PEAK, and then gave up because it really just doesn't work. Too many of the "install" commands depend on just copying everything that's in the build directories, which means you'll get inter-project crosstalk. The One Obvious Way (30+ setup.py files) is in fact the only practical way without some pretty major work on the distutils or scaffolding to work around them. I'd suggest, however, that maybe one egg per package is too fine-grained, and you break it into just a handful of eggs instead. _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
