setup.py needs code from another egg to build
I've been trying to build SciPy using buildout. SciPy has a setup.py which uses distutils infrastructure provided by NumPy. SciPy won't install
without NumPy already available on the Python path as it needs it for its build infrastructure. NumPy, incidentally, itself does
work with buildout, using its own distutils logic placing it on the path through hackery.
One way to resolve this particular problem is to let the developer place an egg on the path to satisfy the import requirements of another package's setup.py. I think such an option is currently missing.
Aside: Unfortunately I keep running into packages that do setup.py hackery like this. They work outside of buildout, but fail in a buildout setup. One way to deal with this problem is to evangelize clean package constructions. It's hard to always get a response though. And some packages just *do* require quite complicated build procedures and it's hard to convince the authors to rewrite them just to please buildout users. I dream of some kind of "magic mode" for buildout that does hackery like this automatically to get an egg built "by whatever means necessary".
SciPy and numpy can be found here:
Note that SciPy in particular has quite a few build requirements (besides numpy), so be sure to read its INSTALL.txt if you want to try it out.
|Changed in zc.buildout:|
|status:||Unconfirmed → Confirmed|