From: Bryce H. <bhe...@en...> - 2006-06-30 20:05:28
|
David M. Cooke wrote: > >>> [Really, distutils sucks. I think (besides refactoring) it needs it's API >>> documented better, or least good conventions on where to hook into. >>> setuptools and numpy.distutils do their best, but there's only so much you >>> can do before everything goes fragile and breaks in unexpected ways.] >>> >> I do hate distutils, having fought it for a long time. Its piss-poor >> dependency checking is one of its /many/ annoyances. For a package >> with as long a compile time as scipy, it really sucks not to be able >> to just modify random source files and trust that it will really >> recompile what's needed (no more, no less). >> >> Anyway, thanks for heeding this one. Hopefully one day somebody will >> do the (painful) work of replacing distutils with something that >> actually works (perhaps using scons for the build engine...) Until >> then, we'll trod along with massively unnecessary rebuilds :) >> > > I've tried using SCons -- still don't like it. It's python, but it's too > unpythonic for me. (The build engine itself is probably fine, though.) > Agreed, last time I used it was almost a year ago, so it might have changed, but SCons does a quasi-2 stage build that is very unnatural. If you have python code nested between 2 build events, the python code is executed and the build events are queued. BUT- its dependency management is great. Distutils suffers from 2 major problems as far as I am concerned: setup.py files often contain way too much business logic and verb-age for casual python developers, and worst-in-class dependency checking. I've been considering moving all Enthought projects to SCons. If another large project, such as scipy were to go that way it would make my decision much simpler. Bryce |