From cf84db36ecc2874325ab68c928187824bdb6f6b0 Mon Sep 17 00:00:00 2001 From: Richard Palethorpe Date: Fri, 27 Mar 2026 14:38:51 +0000 Subject: [PATCH] fix(voxcpm): Force using a recent voxcpm version to kick the dependency solver (#9150) fix(voxcpm): Allow packages to be fetched from all indexes Signed-off-by: Richard Palethorpe --- backend/python/voxcpm/install.sh | 9 +++++++++ backend/python/voxcpm/requirements-cpu.txt | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/backend/python/voxcpm/install.sh b/backend/python/voxcpm/install.sh index a50b07dd2..ed41ddcfa 100755 --- a/backend/python/voxcpm/install.sh +++ b/backend/python/voxcpm/install.sh @@ -8,6 +8,15 @@ else source $backend_dir/../common/libbackend.sh fi +# The PyTorch CPU/CUDA indexes mirror common packages (e.g. requests) with +# limited, often outdated version sets. uv's default "first-index" strategy +# locks to the first index that carries a package, so it can pick e.g. +# requests==2.28.1 from the PyTorch index instead of a newer version from +# PyPI. voxcpm's transitive deps (datasets>=3 → requests>=2.32.2) need the +# PyPI versions. "unsafe-best-match" is safe here because we control both +# indexes and there is no dependency confusion risk. +export UV_INDEX_STRATEGY=unsafe-best-match + installRequirements if [ "x${USE_PIP}" == "xtrue" ]; then diff --git a/backend/python/voxcpm/requirements-cpu.txt b/backend/python/voxcpm/requirements-cpu.txt index 87cb05833..8a48ce709 100644 --- a/backend/python/voxcpm/requirements-cpu.txt +++ b/backend/python/voxcpm/requirements-cpu.txt @@ -3,5 +3,5 @@ torch torchaudio soundfile numpy -voxcpm +voxcpm>=1.5.0 torchcodec \ No newline at end of file