Skip to content

marker evaluation should allow prerelease versions #522

@graingert

Description

@graingert

considering the requirement black==22.1.0; python_full_version >= "3.6.2" I would expect pip to install black on python 3.11.0a5 however I get:

$ pip install 'black==22.1.0; python_full_version >= "3.6.2"'
Ignoring black: markers 'python_full_version >= "3.6.2"' don't match your environment

looking at packaging.markers "python_full_version > '3.6.2' is excluding pre-release versions:

>>> import packaging.markers
>>> packaging.markers.Marker("python_full_version > '3.6.2'").evaluate({"python_full_version": "3.11.0a5"})
False
>>> packaging.markers.Marker("python_full_version > '3.6.2'").evaluate({"python_full_version": "3.11.0"})
True
>>> 

see also pypa/pip#10962 (comment)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions