[Distutils] Buildout or distribute raise unnecessary version conflict?
benji at benjiyork.com
Fri Dec 17 17:01:41 CET 2010
On Fri, Dec 17, 2010 at 10:05 AM, Alan Franzoni <mailing at franzoni.eu> wrote:
> if egg A requires "foolib" while egg B requires "foolib==1.0.0", and
> the latest available version of foolib is "1.0.1", then a version
> conflict error will arise; it's just as if a "naked" egg dependency is
> pinned to the latest available version of a package.
I seem to recall that this is a result of the non-backtracking behavior
of setuptools version resolution. It's not a bug per se, just that it
doesn't go the extra mile. If I'm wrong I'm sure someone will correct
> If I just want to install "foo", I'll get foo and mydep 1.0.1 on my
> system. But if I try installing both, I'll get foo, bar and mydep
> 1.0.0, because that will be resolved as the best way to handle all
Fancier version resolution would be nice, however a library-like package
(as opposed to an app) that requires one and only one version of a
dependency is being antisocial.
You can use zc.buildout to enforce the use of the 1.0.1 version for you
as a work-around:
More information about the Distutils-SIG