-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot handle complex requirement resolution #174
Comments
Resolving version dependencies among inter-dependent packages is a complex
|
Tarek told me that this issue is covered in a ticket at
|
Here's a cross-reference: http://bugs.python.org/issue8927. Until
|
|
Sridhar, there are lots of examples of such dependency conflicts in Debian Dave, I think it’s the responsibility of distutils2 to handle this. I’m afraid I suggest keeping to bugs.python.org now.
|
Éric: I agree that it's probably a distutils2 thing. However, in light of the packaging/browse_frm/thread/22267799eba3d90e
|
This bug is apparently causing trouble on a regular basis with Pyramid installations and zope.interface pre-installed globally on OSX. See pull pypa/virtualenv#178 |
Don't know if it helps, but zc.buildout (or maybe recipes like zc.recipe.egg?) can handle complex dependencies: it returns an error and says something like "I can't do that", which is what I expect. Example I use, given sphinx requires docutils>=0.7: pip: fail
where requirements.txt is :
says
So we believe everything is ok, but...
Error! The install passes. The error is detected at runtime, which could be a long time later. The error message tells us that there is a dependency error, but we will have to investigate before we discover the "docutils==0.6" directive. zc.buildout (or zc.recipe.egg): passGiven the following buildout.cfg file:
Let's run buildout:
Ok. The dependency conflict is detected early. The install fails. We are aware of the conflict. |
+1 I have just run into something that is probably the same issue and was going to file a ticket. Here is repo with a minimal and clear reproduction: https://github.com/kennknowles/pip-version-issue |
I guess this ticket should be tagged with "dependency resolution" label. |
thanks, added the label. |
closing as dupe to #988 |
Not only does pip not check for conflicts as noted in http://bitbucket.org/ianb/pip/src/tip/pip/req.py#cl-928, it doesn't consider any requirements on a package other than the first. So if I have
installing A will give us D==1.1 rather than D==0.9
The text was updated successfully, but these errors were encountered: