On Thu, May 16, 2013 at 10:13 AM, Daniel Holth <dho...@gmail.com> wrote: > On Thu, May 16, 2013 at 10:08 AM, Jim Fulton <j...@zope.com> wrote: >> On Thu, May 16, 2013 at 9:51 AM, Daniel Holth <dho...@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.
I don't think it should be up to the tool to decide that a dependency is wrong. IMO, the tool should satisfy the declared dependencies as well as possible, report conflicts, and give the user a way to decide a conflict. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig