-
Notifications
You must be signed in to change notification settings - Fork 881
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
Confusing error messages on package resolution failure #309
Comments
Two incompatible versions of the same package results in a useless error |
A pinned incompatible version of an indirect requirement. This one is relatively reasonable? It's just quite verbose. We need to do better on |
This version doesn't exist, so you get:
|
The lack of version range merging makes this one unreadable:
The requirements are using Compared to the pip error:
|
) Partially addresses #310 Addresses case at #309 (comment) Follow-up to #300 ensuring `PuffinExternal` is used consistently when formatting messages Example at https://github.com/astral-sh/puffin/pull/342/files#diff-5c74a74ef34ef1d6e7453de8d2d19134813156e8b6a657e6b5ed71fda5a3a870
Extras are handles badly. EDIT: Filed as #386
|
…cting versions (#424) Addresses #309 (comment) Similar to #338 this throws an error when merging versions results in an empty set. Instead of propagating that error, we capture it and return a new dependency type of `Unusable`. Unusable dependencies are a new incompatibility kind which includes an arbitrary "reason" string that we present to the user. Adding a new incompatibility kind requires changes to the vendored pubgrub crate. We could use this same incompatibility kind for conflicting urls as in #284 which should allow the solver to backtrack to another valid version instead of failing (see #425). Unlike #383 this does not require changes to PubGrub's package mapping model. I think in the long run we'll want PubGrub to accept multiple versions per package to solve this specific issue, but we're interested in it being merged upstream first. This pull request is just using the issue as a simple case to explore adding a new incompatibility type. We may or may not be able convince them to add this new incompatibility type upstream. As discussed in pubgrub-rs/pubgrub#152, we may want a more general incompatibility kind instead which can be used for arbitrary problems. An upstream pull request has been opened for discussion at pubgrub-rs/pubgrub#153. Related to: - pubgrub-rs/pubgrub#152 - #338 - #383 --------- Co-authored-by: konsti <[email protected]>
Resolving
|
New bad error message, this used to resolve:
|
Is it correct that it doesn't resolve though? |
(Checking if Poetry can resolve. pip-compile could not, but failed trying to build a package.) |
In this case yes, but it shouldn't fail at that point (i'll file a separate issue) |
After 3 hours and 13 minutes, Poetry failed with:
|
Some of these are now fixed -- should we close this in favor of more targeted issues? |
This issue is to collect all confusing error messages on package resolution failure.
Upstream issues:
The text was updated successfully, but these errors were encountered: