vllm-project/vllm · warning · RuntimeError
Could not collect pip list output (pip or uv module not…
Error message
Could not collect pip list output (pip or uv module not available)
What it means
collect_env.py builds an environment report and lists key packages by shelling out to pip list --format=freeze. It first tries importlib.util.find_spec('pip'); if pip is absent it falls back to `uv pip list` but only when running inside a uv-managed venv (is_uv_venv()). If neither holds, it cannot enumerate packages and raises RuntimeError.
Solutions
- Install pip into the active venv: `uv pip install pip` or ensure the venv is created by uv so is_uv_venv() matches
- Recreate the environment with standard tooling (python -m venv with pip, or uv venv) so one of the two detection branches succeeds
- If you only need the report, run collect_env from an environment that has pip, pointing at the same vLLM install
Example fix
# before: venv created with --without-pip, not a uv venv $ python -m vllm.collect_env # RuntimeError # after $ uv pip install pip $ python -m vllm.collect_env
Defensive patterns
Strategy: validation
Validate before calling
import importlib.util, sys
pip_ok = importlib.util.find_spec("pip") is not None
# plus uv-venv check; run collect_env only if pip_ok or uv venv Try / catch
try:
from vllm import collect_env
report = collect_env.get_env() # or CLI equivalent
except RuntimeError as e:
if "pip list" in str(e):
report = "package listing unavailable"
else:
raise Prevention
- Keep pip installed in venvs used for diagnostics
- Prefer uv-created venvs so the fallback branch works
When it happens
Trigger: Running vllm.collect_env in a venv with pip deliberately stripped (e.g. uv venv without pip installed, python -m venv --without-pip), or a container where pip was removed, and the venv layout does not look like a uv venv.
Common situations: Docker images that delete pip to slim the image; uv-managed environments whose VIRTUAL_ENV/pyvenv.cfg markers differ from what is_uv_venv() expects; slim distroless-style runtimes.
Related errors
- Could not determine Python executable. Please provide it…
- Error happened when batch testing peer-to-peer access from
- failed to parse `RUST_LOG`
- Invalid wheel filename format
- io error
AI-assisted analysis of vllm-project/vllm@c794754062 (2026-08-14).
Data as JSON: /api/errors/41b07b6234459863.
Report an issue: GitHub.
Appendix: source
Thrown at vllm/collect_env.py:666
if patterns is None:
patterns = DEFAULT_PIP_PATTERNS
def run_with_pip():
try:
import importlib.util
pip_spec = importlib.util.find_spec("pip")
pip_available = pip_spec is not None
except ImportError:
pip_available = False
if pip_available:
cmd = [sys.executable, "-mpip", "list", "--format=freeze"]
elif is_uv_venv():
print("uv is set")
cmd = ["uv", "pip", "list", "--format=freeze"]
else:
raise RuntimeError(
"Could not collect pip list output (pip or uv module not available)"
)
out = run_and_read_all(run_lambda, cmd)
return "\n".join(
line for line in out.splitlines() if any(name in line for name in patterns)
)
pip_version = "pip3" if sys.version[0] == "3" else "pip"
out = run_with_pip()
return pip_version, out
def get_cachingallocator_config():
ca_config = os.environ.get("PYTORCH_CUDA_ALLOC_CONF", "")
return ca_config
View on GitHub (pinned to c794754062)