Previously Chris Withers wrote:
If you're proposing fixing it in buildout because getting changes made to setuptools and then getting a release of setuptools made is damned near impossible, then that's sad state of affairs for the whole python community :-(
You can compare this with dpkg and apt on Debian and Ubuntu systems: dpkg is the lower level install that installs one or more packages. It only checks if the packages you install break any package conflicts and if their dependencies are met. It is simpler than easy_install: it will not look for or download packages itself. Python does not have a such a low level tool - I think it would be useful to factor that out of setuptools into a separate package. Apt is the higher level tool: you give it a list of places where it can find packages (similar to pypi indices, except it does not have a download url concept (which tends to only hurt you anyway) and it figures out what should be done to install a set of packages without violating any constraints. Once it knows how to do this it downloads the packages and calls dpkg to do the actuall installation. I think it makes sense to have a similar approach in python: have a pure installation tool (a subset of easy_install) as well as higher level tools such as zc.buildout which have all the logic necessary to find packages to install and figure out a strategy to get to a target working set. Wichert. -- Wichert Akkerman <wichert@wiggy.net> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple.