Skip to content

Support pip version 26.0 #2319

@sirosen

Description

@sirosen

Initial testing with the new pip version reveals a variety of errors.

Some of them are cleared up pretty quickly, but it's not trivial to fix everything.


A good number of testsuite failures stem from one particular issue, which is support for PackageFinder.allow_all_prereleases. I've been able to handle that with two small helper functions:

def finder_allows_prereleases_of_req(
    finder: PackageFinder, ireq: InstallRequirement
) -> bool:
    if _pip_version.PIP_VERSION_MAJOR_MINOR < (26, 0):
        return finder.allow_all_prereleases
    else:
        return finder.release_control.allows_prereleases(ireq.req.name)


def finder_allows_all_prereleases(
    finder: PackageFinder
) -> bool:
    if _pip_version.PIP_VERSION_MAJOR_MINOR < (26, 0):
        return finder.allow_all_prereleases
    else:
        return ":all:" in finder.release_control.all_releases

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions