-
-
Notifications
You must be signed in to change notification settings - Fork 250
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
Universal lock creation failure for disjoint IC and Requires-Python is correct but the error message from Pip / Pex is confusing. #1927
Comments
~=
operator.
OK, re-read https://peps.python.org/pep-0440/#compatible-release and |
~=
operator.
Circling back to the confusing error message in the Pip download logs of Pex monkey-patches the But that leaves the error message using the version of the current Python interpreter ( |
The issue was surfaced / demonstrated in https://github.com/tobni/dummy-pants-repo by running:
The underlying relevant Pex command line is:
That reveals:
Now,
~=3.10
means>=3.10,==3.10.*
(see here: https://peps.python.org/pep-0440/#compatible-release) which means any Python 3.10 compatible distribution. Since numpy 1.21.4 is compatible with all Python 3.10 versions (requires-python:>=3.7,<3.11), the lock should succeed. Instead we see the error message from Pip:Link requires a different Python (3.10.4 not in: '>=3.7,<3.11')
.If we use the equivalent IC syntax, the lock does succeed; so the issue is specifically with the
~=
operator:The text was updated successfully, but these errors were encountered: