-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Dependency resolution order difference between pip and pipenv #298
Comments
this is also apparent now that Django has released 1.11. I have |
Hey @c17r, sorry this has slipped through the cracks. I'm working my way through the backlog of tickets that's piled up in the last week. Could you provide an example Pipfile for me with the Django issues so I can test a few things out. Thanks! |
is a good short example, you'll end up with 1.11 |
Oddly
does what you'd expect |
Ok, I'm now convinced we can be doing better here. The issue is when a package isn't specified with an exact version (e.g. ==1.10.8), we choose the first downloaded copy of the package. This works in the second example because I've opened #305 to hopefully address this better. I've done some initial testing and we seem to be getting the desired results but I'd welcome you, or anyone else with an inclination, to test it out before we merge it. |
I tested #305 and all my issues are working now. |
@c17r Great! We'll get this slotted for 3.6.0 then. |
I found something else somewhat along these lines:
You end up with Django listed in both |
This piece operates differently in pip that I expected. We download and evaluate dependencies for I think a solution here is to check the contents of
@kennethreitz, any thoughts on this? It'll be a semi-significant extension but is functionality |
But is that really an issue? When you install/update, it's either |
Yeah, I think it definitely could be. If |
Would it be possible to compare the output of |
was this fixed by 56aaa86 ? |
i think it's safe to say yes. |
Took me awhile to track down what I was seeing as well as come up with the smallest test example.
So if you have a requirement of
pytest-django<2.10
which in it's setup.py has aninstall_requires
entry ofpytest>=2.5
. You also have a requirement ofpytest<2.10
.Pip on it's own handles this just fine. Pipenv ends up with the pytest at the current release version.
The text was updated successfully, but these errors were encountered: