-
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
pip install cannot resolve dependencies for wheels with extras #9219
Comments
Hello and thank you for your bug report! I'm sorry you're having trouble right now. Thank you for sharing your report with us. And I am glad that the pip documentation was able to help you with a temporary workaround. I'll defer to the new resolver's developers on responding to the issue you're running into. (If you don't mind, please also tell us what could have happened differently so you could have tested and caught and reported this during the pip resolver beta period.) |
It's probably unlikely that I would have caught this earlier. This is part of our CI scripts and I figured moving the new resolver to default and adding the ability to turn it off was a later part of the resolver beta (now). The only other way I could have seen this be more of a soft fail is to run both resolvers in parallel and only use the new resolver if there were no issues resolving. Since this is run by our CI that might have been too soft and we wouldn't have noticed the error anyways (unless it did install, but it still exited with an error code) |
We're also running into this issue. We hadn't gotten to convert all our CI pipelines / Dockerfiles to run with the new resolver, and this popped up with pip 20.3. In our case we're depending on @terencehonles: thanks for the workaround :) |
The cause to this is #8785. I have modified the title of that issue to reflect the underlying problem better, and will merge conversaion here into it. |
What did you want to do?
Compiling wheels and then installing those wheels breaks the dependency resolver. I've limited the following example to two packages so I don't need to use a requirements file, but that is where I discovered the issue. I believe it could probably be further reduced with more simple test packages. There may be such packages on PyPI, but I am unaware of them (it probably would be a good idea to have them for other tools to share some smoke tests).
Input:
Output:
I've worked around this by specifying
--no-deps
as mentioned in User Guide: Installation Bundles, but I would expect the resolver to not break on itself by auto adding the following requirements:I didn't specify the versions for
jsonschema
/jsonschema[format]
and I would expect it to prefer the wheel it has since that does meet the requirements. Looking at the output from the resolver it seems like it might be treatingjsonschema
as different fromjsonschema[format]
:The text was updated successfully, but these errors were encountered: