[Distutils] Overriding dependency versions

Daniel Holth dholth at gmail.com
Thu May 16 16:13:45 CEST 2013


On Thu, May 16, 2013 at 10:08 AM, Jim Fulton <jim at zope.com> wrote:
> On Thu, May 16, 2013 at 9:51 AM, Daniel Holth <dholth at gmail.com> wrote:
>> If you were to say:
>>
>> install gerbil==3 wheel==0.16
>>
>> and gerbil version 3's requirements were:
>>
>> water_bottle == 4
>> shavings < 7
>> wheel >= 0.16 # of course
>>
>> and shavings's requirements were:
>>
>> cedar == 0.9
>>
>> The root of the dependency graph is "gerbil==3 wheel==0.16.0". These
>> are the only == constraints that will be honored.
>>
>> The proposed option would keep "gerbil==3 wheel==0.16.0", convert
>> water_bottle==4 and cedar==0.9 to just water_bottle and cedar, and
>> respect the >= and < constraints.
>
> Ignoring requirements, especially in the absence of conflict, as in
> the case above, seems like a bad idea to me.  I could see high-level
> == requirements overriding lower-level requirements, possibly with a
> warning.
>
> (I'm not sure what the scope of this discussion is; whether it's just
> pip, or whether
> the original question was meant to be general.)

It is a general idea which would of course have to be implemented in
pip or whatever.   Generally, what do do when your dependencies
declare incorrect dependencies of any kind; specifically the idea of
making it easy to ignore == because it is almost always wrong.


More information about the Distutils-SIG mailing list