-
Notifications
You must be signed in to change notification settings - Fork 915
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
Treat python version as a dependency when resolving #406
Labels
error messages
Messaging when something goes wrong
Comments
Update: Wheels also have a |
Do you know how the |
In most cases, the tag is |
I will give this a shot. |
charliermarsh
added a commit
that referenced
this issue
Jan 3, 2024
## Summary This PR modifies the resolver to treat the Python version as a package, which allows for better error messages (since we no longer treat incompatible packages as if they "don't exist at all"). There are a few tricky pieces here... First, we need to track both the interpreter's Python version and the _target_ Python version, because we support resolving for other versions via `--python 3.7`. Second, we allow using incompatible wheels during resolution, as long as there's a compatible source distribution. So we still need to test for `requires-python` compatibility when selecting distributions. This could use more testing, but it feels like an area where `packse` would be more productive than writing PyPI tests. Closes #406.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sometimes the resolution is impossible because a version of a package can only be installed in a more recent python version than the user has. In the example below, pandas 2.1 requires at least python 3.9, while the user has 3.8.
My suggestion: Add a virtual python dependency with root depending on the user specified version. Set the python dependency of each version to the
requires-python
of the sdist or that of the union of the wheel if there is no sdist.puffin
We should have never picked this sdist!
puffin after #398
I can go to pypi and see that there is a pandas 2.1.2 there, why doesn't puffin use it?
pip/pip-tools
(also used by pip-tools, but with a backtrace below):
Why does pip pretend there is no pandas 2.1.2 when i can clearly see it on pypi, is this a caching bug?
poetry:
I see, i have to change the python requirement in pyproject.toml (or use an older pandas version)
The text was updated successfully, but these errors were encountered: