cool-easter-32542
06/11/2024, 4:06 PMERROR: Cannot install acme-pants-plugin==2.15.0.dev8+2.21.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit <https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts>
The conflict is caused by:
acme-pants-plugin 2.15.0.dev8+2.21.0 depends on pantsbuild.pants==2.21.0
The user requested (constraint) pantsbuild-pants==2.21.0
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
Pants version
2.21.0
OS
Mac.
Additional info
Took me a second to spot the difference.. (. vs -.)
[GLOBAL]
pants_version = "2.21.0"
plugins = ["acme-pants-plugin==2.15.0.dev8+2.21.0"]
❯ cat acme_pants_plugin-0.0.0.dist-info/METADATA
Metadata-Version: 2.1
Name: acme-pants-plugin
Version: 0.0.0
Requires-Python: ==3.9.*
Requires-Dist: click
Requires-Dist: pantsbuild.pants (==2.21.0)
The pants_requirements() BUILD file target results in a dependency on `pantsbuild.pants`:
❯ pants peek 3rdparty:pantsbuild
[
{
"address": "3rdparty:pantsbuild",
"target_type": "pants_requirements",
"_find_links": [],
"dependencies": [
"3rdparty:pantsbuild#pantsbuild.pants",
"3rdparty:pantsbuild#pantsbuild.pants.testutil"
],
"description": null,
"tags": null,
"testutil": true,
"version_spec": "== 2.21.0"
}
]
The constraints passed to PEX/pip also lists pantsbuild.pants, so this seems it could be a dist name normalization applied by PEX/pip. This normalization seems to contradict https://peps.python.org/pep-0503/#normalized-names
Edit: The names and versions are ~irrelevant. What matters is that the pantsbuild distro is not available on PyPI since 2.18.0, and scie-pants doesn't provide the find-links option to locate them in the custom wheel shop for plugins to consume.
pantsbuild/pants