From d2d61080900ba5552786ac7e473e44f1170e024b Mon Sep 17 00:00:00 2001 From: Frost Ming Date: Fri, 6 Dec 2024 10:37:01 +0800 Subject: [PATCH] fix(uv): Universal wheel can't be added as URL dependency as it's mismatched to current platform Fixes #3332 Signed-off-by: Frost Ming --- news/3332.bugfix.md | 1 + src/pdm/resolver/uv.py | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 news/3332.bugfix.md diff --git a/news/3332.bugfix.md b/news/3332.bugfix.md new file mode 100644 index 0000000000..d76e201225 --- /dev/null +++ b/news/3332.bugfix.md @@ -0,0 +1 @@ +Fix a bug in uv mode that direct URL dependencies can't be installed. diff --git a/src/pdm/resolver/uv.py b/src/pdm/resolver/uv.py index b5dd743c83..082b22d9de 100644 --- a/src/pdm/resolver/uv.py +++ b/src/pdm/resolver/uv.py @@ -147,9 +147,8 @@ def hash_maker(item: dict[str, Any]) -> FileHash: def hash_maker(item: dict[str, Any]) -> FileHash: return {"file": Link(item["url"]).filename, "hash": item["hash"]} - if not req.is_file_or_url: - for wheel in chain(package.get("wheels", []), [sdist] if (sdist := package.get("sdist")) else []): - candidate.hashes.append(hash_maker(wheel)) + for wheel in chain(package.get("wheels", []), [sdist] if (sdist := package.get("sdist")) else []): + candidate.hashes.append(hash_maker(wheel)) entry = Package(candidate, [make_requirement(dep) for dep in package.get("dependencies", [])], "") packages.append(entry) if optional_dependencies := package.get("optional-dependencies"):