[Distutils] (How) do setuptools/distribute/pip handle circular dependencies?
dholth at gmail.com
Sat Nov 10 13:30:12 CET 2012
The new metadata keeps setup-requires-dist separate, and test and doc
dependencies are well-known extra names. The granularity is preserved.
On Nov 10, 2012 6:52 AM, "Vinay Sajip" <vinay_sajip at yahoo.co.uk> wrote:
> Carl Meyer <carl <at> oddbird.net> writes:
> > already satisfied. In pip this happens here:
> > https://github.com/pypa/pip/blob/develop/pip/req.py#L1091
> > More generally, I wouldn't really recommend pip's dependency resolution
> > logic as a model for new Python code in this area. There are some not
> > uncommon cases that it handles poorly; see
> > https://github.com/pypa/pip/issues/174 and
> > http://bugs.python.org/issue8927. (To be fair to pip, these cases aren't
> > trivial when you have to download and unpack an sdist before you can
> Thanks for the pointers.
> > find out anything about its dependencies, but I'd hope that with the new
> > metadata PEPs Python packaging code could get a bit smarter in this
> AFAICT, the proposed metadata PEP changes don't offer the same requirement
> granularity as setuptools / distribute (for example, 'Requires-Dist' as
> 'install_requires', 'setup_requires', 'test_requires').
> Anyway, I'll take a look at the issue you mentioned and see how the
> code in distlib stacks up. Currently, it keeps the requirements distinct
> 'install', 'setup' and 'test'. The distinctions seem reasonable in theory,
> though I'm not sure how useful they are in practice.
> In the case I was quoting, the circular dependency wasn't being treated as
> kind of conflict - I just came across cycles when testing topological
> sorting of
> dependency graphs, and was curious about them.
> Vinay Sajip
> Distutils-SIG maillist - Distutils-SIG at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Distutils-SIG