{"record":{"id":"a170afdac75c5b63","repo":"vllm-project/vllm","slug":"wheel-metadata-missing-path-wheel","errorCode":null,"errorMessage":"Wheel metadata missing path: {wheel}","messagePattern":"Wheel metadata missing path: (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"setup.py","lineNumber":864,"sourceCode":"                precompiled_wheel_utils.warn_if_rocm_torch_version_mismatch(\n                    wheels, repo_url, arch\n                )\n            except Exception as e:\n                logger.warning(\n                    \"Failed to fetch ROCm wheel metadata for variant %s: %s\",\n                    variant,\n                    e,\n                )\n        if wheels is not None and repo_url is not None:\n            from urllib.parse import urljoin\n\n            for wheel in wheels:\n                if wheel.get(\"package_name\") == \"vllm\" and arch in wheel.get(\n                    \"platform_tag\", \"\"\n                ):\n                    print(f\"Found precompiled wheel metadata: {wheel}\")\n                    if \"path\" not in wheel:\n                        raise ValueError(f\"Wheel metadata missing path: {wheel}\")\n                    wheel_url = urljoin(f\"{repo_url}vllm/\", wheel[\"path\"])\n                    download_filename = wheel.get(\"filename\")\n                    print(f\"Using precompiled wheel URL: {wheel_url}\")\n                    return wheel_url, download_filename\n            logger.warning(\n                \"No precompiled vllm wheel found for architecture %s \"\n                \"from repo %s. All available wheels: %s\",\n                arch,\n                repo_url,\n                wheels,\n            )\n\n        # Fall back to AMD's PyPI index\n        index_url = os.getenv(\n            \"VLLM_ROCM_WHEEL_INDEX\", \"https://pypi.amd.com/vllm-rocm/simple\"\n        )\n        print(f\"Fetching ROCm precompiled wheel from {index_url}\")\n        wheel_url = precompiled_wheel_utils.fetch_wheel_from_pypi_index(index_url)","sourceCodeStart":846,"sourceCodeEnd":882,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/setup.py#L846-L882","documentation":"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.","triggerScenarios":"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).","commonSituations":"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.","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"],"exampleFix":"# before\n{\"package_name\": \"vllm\", \"platform_tag\": \"manylinux1_x86_64\", \"filename\": \"vllm-...whl\"}\n\n# after\n{\"package_name\": \"vllm\", \"platform_tag\": \"manylinux1_x86_64\", \"filename\": \"vllm-...whl\", \"path\": \"vllm/vllm-...whl\"}","handlingStrategy":"validation","validationCode":"for wheel in wheels:\n    if wheel.get(\"package_name\") == \"vllm\" and arch in wheel.get(\"platform_tag\", \"\"):\n        assert \"path\" in wheel, f\"wheel metadata entry missing 'path': {wheel}\"","typeGuard":null,"tryCatchPattern":"try:\n    wheel_url = urljoin(f\"{repo_url}vllm/\", wheel[\"path\"])\nexcept KeyError:\n    raise ValueError(f\"Wheel metadata missing path: {wheel}\") from None","preventionTips":["Schema-check generated wheel metadata (require path/package_name/platform_tag) in CI","Test one install per arch from the metadata feed before rollout"],"tags":["python","packaging","wheels","metadata","vllm"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}