On Dec 11, 2005, at 2:11 PM, Phillip J. Eby wrote: > 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.
Ok, so I'll start off with a handful of setup.py files to see how it works out.. For install_requires and setup_requires, how I can I let ez_setup know that the subprojects are in the same tarball relative to the main setup.py? -bob _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
