[Distutils] Reverse dependencies
Phillip J. Eby
pje at telecommunity.com
Sun May 13 20:10:55 CEST 2007
At 06:11 PM 5/13/2007 +0100, Martin Aspeli wrote:
>Phillip J. Eby wrote:
> > At 05:00 PM 5/13/2007 +0100, Martin Aspeli wrote:
> >> But is there any support for such declarative "reverse" dependencies?
> > Sort of, in a very limited way. You'll get a version compatibility
> > error if you depend on say, Plone<3 and your dependency depends on
> > Plone>=3.1, for example. But there's no backtracking to resolve
> > this, so the minute it happens your installation is basically dead
> > until you get rid of the problematic package.
>Do you think it'd be a useful feature? I realise it may not be
>immediately trivial to add. ;)
No kidding. I believe it's potentially NP-complete, which is why I
only implemented a non-backtracking version that always goes for the
highest installed version of each package.
If somebody else wants to take a look at designing a backtracking
algorithm, take a look at the WorkingSet.resolve() method in pkg_resources.
More information about the Distutils-SIG