vllm-project/vllm · error · ValueError
Wheel metadata missing path: {wheel}
Error message
Wheel metadata missing path: {wheel} What it means
Raised in setup.py's precompiled-wheel metadata handling (line 864): iterating a fetched wheels-metadata list, an entry matched (`package_name == "vllm"` and platform tag contains arch) but has no `path` key, so the wheel URL cannot be constructed. Distinct from 'wheel not found' — the metadata entry exists but is malformed.
Source
Thrown at setup.py:864
precompiled_wheel_utils.warn_if_rocm_torch_version_mismatch(
wheels, repo_url, arch
)
except Exception as e:
logger.warning(
"Failed to fetch ROCm wheel metadata for variant %s: %s",
variant,
e,
)
if wheels is not None and repo_url is not None:
from urllib.parse import urljoin
for wheel in wheels:
if wheel.get("package_name") == "vllm" and arch in wheel.get(
"platform_tag", ""
):
print(f"Found precompiled wheel metadata: {wheel}")
if "path" not in wheel:
raise ValueError(f"Wheel metadata missing path: {wheel}")
wheel_url = urljoin(f"{repo_url}vllm/", wheel["path"])
download_filename = wheel.get("filename")
print(f"Using precompiled wheel URL: {wheel_url}")
return wheel_url, download_filename
logger.warning(
"No precompiled vllm wheel found for architecture %s "
"from repo %s. All available wheels: %s",
arch,
repo_url,
wheels,
)
# Fall back to AMD's PyPI index
index_url = os.getenv(
"VLLM_ROCM_WHEEL_INDEX", "https://pypi.amd.com/vllm-rocm/simple"
)
print(f"Fetching ROCm precompiled wheel from {index_url}")
wheel_url = precompiled_wheel_utils.fetch_wheel_from_pypi_index(index_url)View on GitHub (pinned to c794754062)
Solutions
- Fix the metadata source: every matched vLLM wheel entry needs a `path` (relative wheel location joined onto repo_url)
- Print the offending entry (the error embeds it) and add the missing path field
- If you don't control the metadata, bypass the precompiled-wheel flow and install normally
Example fix
# before
{"package_name": "vllm", "platform_tag": "manylinux1_x86_64", "filename": "vllm-...whl"}
# after
{"package_name": "vllm", "platform_tag": "manylinux1_x86_64", "filename": "vllm-...whl", "path": "vllm/vllm-...whl"} Defensive patterns
Strategy: validation
Validate before calling
for wheel in wheels:
if wheel.get("package_name") == "vllm" and arch in wheel.get("platform_tag", ""):
assert "path" in wheel, f"wheel metadata entry missing 'path': {wheel}" Try / catch
try:
wheel_url = urljoin(f"{repo_url}vllm/", wheel["path"])
except KeyError:
raise ValueError(f"Wheel metadata missing path: {wheel}") from None Prevention
- Schema-check generated wheel metadata (require path/package_name/platform_tag) in CI
- Test one install per arch from the metadata feed before rollout
When it happens
Trigger: Installing with a precompiled-wheels metadata JSON/repo override whose vLLM entry for your arch omits `path` (e.g. only has filename/package_name/platform_tag).
Common situations: Hand-edited or externally generated wheel metadata lists; a metadata producer version that renamed `path` to something else; internal artifact stores whose export drops relative paths.
Related errors
- No compatible wheel found for {arch} at {simple_url}
- Cannot find CMake executable
- HTTP request failed: {0}
- JSON error: {0}
- Tokenizer error: {0}
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/a170afdac75c5b63.
Report an issue: GitHub.