-
-
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
Issue resolving of python version with point python version check #5908
Comments
The resolver uses the virtualenv python version, which will be what pip uses to resolve packages against. |
Any workarounds to detect such issues. |
@matejsp you got me thinking about some possible workarounds to these types of issues, and I have opened a draft PR of something I have been playing with: #5931 This does patch the vendored packaging library, and reserves the named category "resolver" so that additional directives can be passed to the pip resolver. For example:
|
@matejsp I couldn't get the version ranges to work reasonable well with a first pass because it required me to change how the markers evaluate, and I learned its quite hard to evaluate python version markers against a range of python versions, so for a first pass, I've updated my above example to show overriding just the resolver's environment data using my linked branch. |
Issue description
Requires is not correctly resolved for minor python version (or when specifiying full version).
I then I generate lock file using python 3.11.2 and 3.11.5.
Now 3.11.5 does not lock async-timeout when 3.11.2 does.
Ideally python version that I run pipenv with should be irrelevant.
But I set that I require python version 3.11 so I should always get async-timeout and shouldn't be related to python version that I run pipenv with.
https://github.com/redis/redis-py/blob/master/setup.py
I tried various changes like:
python_full_version = "3.11.0"
Expected result
Get requirements based on python version not version that I run pipenv with. So for 3.11 we should have also this dependency locked with correct marker.
Actual result
pipenv thinks async-timeout is not needed for python 3.11.
Steps to replicate
PIPENV_IGNORE_VIRTUALENVS=1 pipenv lock
The text was updated successfully, but these errors were encountered: