Skip to content

Commit 8d3d292

Browse files
committed
Avoid impossible impossible minversion requirement
Fixes: #2414
1 parent f7f5d68 commit 8d3d292

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

docs/changelog/2414.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Avoid impossible minversion version requirements. - by :user:`ssbarnea`.

src/tox/provision.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ def provision(state: State) -> int | bool:
7575

7676
def add_tox_requires_min_version(requires: list[Requirement]) -> list[Requirement]:
7777
min_version: Version = state.conf.core["min_version"]
78+
# If own version can be a development one or a pre-release, we need to
79+
# to only use its base_version for requirements, or pip will never be
80+
# able to find a version that is compatible with the requirement.
81+
# See https://github.com/tox-dev/tox/issues/2414
82+
if min_version.is_devrelease or min_version.is_prerelease: # noqa: SC200
83+
# So we build a PEP 440 version out of the base ones.
84+
# https://setuptools.pypa.io/en/latest/userguide/distribution.html#specifying-your-project-s-version
85+
min_version = Version(min_version.base_version + "a0.dev0")
7886
requires.append(Requirement(f"tox >= {min_version.public}"))
7987
return requires
8088

0 commit comments

Comments
 (0)