The recursion in the log attached to this case here is occurring during entry
point resolution; specifically, it appears to be trying to use an
egg_info.writers entry point that depends on PasteDeploy while running the
egg_info command on PasteScript. This causes it to try to install PasteDeploy
(because it's an install-time requirement of PasteScript as a whole), but since
the entry point is still present, the attempt to run the egg_info command on
PasteDeploy tries to make it install PasteDeploy a second time.
Two possible ways to fix this would include making PasteDeploy a setup-time
requirement of PasteScript, or making it not a requirement at all.
To fix the problem in future versions of setuptools, I'll ensure that the
pkg_resources state is sandboxed between the parent and child builds, and that a
child build's working set includes the setup directory. (Currently, the
directory is added to sys.path, but not to the working set.) This should let
child builds be considered a resolution to the parent's requirements, without
starting a recursive rebuild of the child. Then, as long as the child has an
.egg-info file or directory when the build starts, the problem won't happen.
(One could still have a problem on an svn checkout in that case, though; not a
lot I can do about that one, except document that you should use setup_requires.)
For now, though, try putting PasteDeploy in setup_requires as well as
install_requires, or alternatively dropping it from install_requires. I will
also soon have a patch for the original problem in setuptools trunk, which I'd
like for you to test (without the workaround) to make sure I've fixed it
correctly. Thanks!
|