Expand the pipenv resolver to be more customizable for what python version is specified and how markers should evaluate. #5931
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am exploring how the resolver determines what python version its using and what markers to evaluate against.
The issue
Fixes #5908
The fix
Adds another reserved named category for pipenv and a patch to packaging, that allows overriding any of the default environment keys. Additionally, support ranges for
python_version
andpython_full_version
and apython
key to specify the base package finder python version to use for the resolver.In my example, I've added these constraints to our Pipfile to show that I can resolve the requirements that require python 3.7 using a python 3.11 version.
Also explore allowing multiple operating system markers to resolve.
Note: This branch started as me removing some unused code based on a coverage report and some extra analysis.
The checklist
news/
directory to describe this fix with the extension.bugfix.rst
,.feature.rst
,.behavior.rst
,.doc.rst
..vendor.rst
. or.trivial.rst
(this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.