Skip to content

Requires-Python error message should not sort versions numerically, not alphabetically #13367

Open
@thomasaarholt

Description

@thomasaarholt

Description

In the following example, it looks to the human eye like all python versions >= 3.9 are supported by the package. However, since the versions are sorted alphabetically, 3.13 is placed between 3.1 and 3.2.

It would be a nicer user experience if 3.13 was placed at the end, after 3.9. It tricked me, at least.

ERROR: Ignored the following versions that require a different python version: <truncated to make it clearer> 1.17.2 
Requires-Python !=2.7.*,!=3.0.*,!=3.1.*,!=3.13.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,!=3.8.*,>=3.9
#                                       ^^^^^^^^ 3.13 listed here!

If the disallowed versions were colored in red and the allowed version in green, that would make it even more obvious.

Expected behavior

Requires-Python !=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,!=3.8.*,>=3.9,!=3.13.*

pip version

25.1

Python version

3.13

OS

Windows and Ubuntu

How to Reproduce

This reproduces at least on Windows and Ubuntu, haven't checked Mac.

uv venv --python 3.13
# activate the way you would
uv pip install pip==25.1 # explicitly showing on 25.1
pip install promptflow-devkit==1.17.2

Output

ERROR: Ignored the following versions that require a different python version: 1.16.2 Requires-Python !=2.7.*,!=3.0.*,!=3.1.*,!=3.13.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8; 1.17.0 Requires-Python !=2.7.*,!=3.0.*,!=3.1.*,!=3.13.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,!=3.8.*,>=3.9; 1.17.1 Requires-Python !=2.7.*,!=3.0.*,!=3.1.*,!=3.13.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,!=3.8.*,>=3.9; 1.17.2 Requires-Python !=2.7.*,!=3.0.*,!=3.1.*,!=3.13.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,!=3.8.*,>=3.9
ERROR: Could not find a version that satisfies the requirement promptflow-devkit==1.17.2 (from versions: 0.1.0b1, 1.8.0, 1.9.0, 1.10.0, 1.10.1, 1.11.0, 1.12.0, 1.13.0, 1.14.0, 1.15.0, 1.15.0.post1, 1.15.1, 1.16.0, 1.16.1)
ERROR: No matching distribution found for promptflow-devkit==1.17.2

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueA good item for first time contributors to work onstate: awaiting PRFeature discussed, PR is neededtype: enhancementImprovements to functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions