fix(ci): revert to per-dep pip download loop with --pre
Single pip-download call fails because the second fallback branch (without --platform) tries to resolve Windows-only deps like winsdk on Linux, where no wheels exist. The original per-dep loop isolates each failure so the platform-specific branch handles each dep independently. Add --pre throughout for winsdk (1.0.0bNN beta).
This commit is contained in:
+9
-11
@@ -69,20 +69,18 @@ VIS_DEPS=(
|
||||
|
||||
ALL_DEPS=("${CORE_DEPS[@]}" "${WIN_DEPS[@]}" "${VIS_DEPS[@]}")
|
||||
|
||||
# Reuse wheels from a previous cached run — only download if cache is empty
|
||||
if [ -d "$WHEEL_DIR" ] && [ -n "$(ls -A "$WHEEL_DIR" 2>/dev/null)" ]; then
|
||||
echo "Using cached wheels from $WHEEL_DIR"
|
||||
else
|
||||
# Single pip-download call — pip resolves all deps together, much faster than a loop.
|
||||
# --pre is required because winsdk only ships beta wheels (1.0.0bNN).
|
||||
pip download --pre --quiet --dest "$WHEEL_DIR" \
|
||||
# Per-dep loop with --pre (winsdk only ships beta wheels, e.g. 1.0.0b10).
|
||||
# Single-call resolution fails when one Windows-only dep can't resolve in
|
||||
# the Linux fallback branch, so we resolve each dep independently.
|
||||
for dep in "${ALL_DEPS[@]}"; do
|
||||
pip download --pre --quiet --no-cache-dir --dest "$WHEEL_DIR" \
|
||||
--platform win_amd64 --python-version "${PYTHON_SHORT}" \
|
||||
--implementation cp --only-binary :all: \
|
||||
"${ALL_DEPS[@]}" 2>/dev/null || \
|
||||
pip download --pre --quiet --dest "$WHEEL_DIR" \
|
||||
"$dep" 2>/dev/null || \
|
||||
pip download --pre --quiet --no-cache-dir --dest "$WHEEL_DIR" \
|
||||
--only-binary :all: \
|
||||
"${ALL_DEPS[@]}"
|
||||
fi
|
||||
"$dep"
|
||||
done
|
||||
|
||||
# Remove numpy 2.x wheels pulled as transitive deps (soundcard requires <2.0)
|
||||
for f in "$WHEEL_DIR"/numpy-2*; do
|
||||
|
||||
Reference in New Issue
Block a user