{"record":{"id":"118f6c99192c2e44","repo":"docling-project/docling","slug":"vllm-is-not-installed-it-is-not-yet-available-on","errorCode":null,"errorMessage":"vLLM is not installed. It is not yet available on Python 3.14.","messagePattern":"vLLM is not installed\\. It is not yet available on Python 3\\.14\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"docling/models/inference_engines/vlm/vllm_engine.py","lineNumber":136,"sourceCode":"\n    def initialize(self) -> None:\n        \"\"\"Initialize the vLLM engine.\"\"\"\n        if self._initialized:\n            return\n\n        _log.info(\"Initializing vLLM VLM inference engine...\")\n\n        try:\n            from transformers import AutoProcessor\n            from vllm import LLM, SamplingParams\n        except ImportError:\n            if sys.version_info < (3, 14):\n                raise ImportError(\n                    \"vLLM is not installed. Please install it via `pip install vllm` \"\n                    \"to use vLLM for high-throughput VLM inference.\"\n                )\n            else:\n                raise ImportError(\n                    \"vLLM is not installed. It is not yet available on Python 3.14.\"\n                )\n\n        # Determine device\n        supported_devices = [\n            AcceleratorDevice.CPU,\n            AcceleratorDevice.CUDA,\n            AcceleratorDevice.XPU,\n        ]\n        self.device = decide_device(\n            self.options.device or self.accelerator_options.device,\n            supported_devices=supported_devices,\n        )\n        _log.info(f\"Using device: {self.device}\")\n\n        # Load model if model_config is provided\n        if self.model_config is not None and self.model_config.repo_id is not None:\n            repo_id = self.model_config.repo_id","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/docling-project/docling/blob/61d76f1ff3f8428065465889f7b4577da7df704c/docling/models/inference_engines/vlm/vllm_engine.py#L118-L154","documentation":"VllmVlmEngine.initialize() cannot import vllm and detects Python 3.14 or newer. The message differs from the generic one because vLLM simply has no releases for Python 3.14 yet — installing it is not possible, so the fix is environmental, not a pip command.","triggerScenarios":"Running the VLLM engine on sys.version_info >= (3, 14) where the vllm import fails; the version check inside the ImportError handler produces this dedicated message.","commonSituations":"Upgrading the Python interpreter to 3.14 while keeping a vLLM-based pipeline; new projects bootstrapped on the newest Python where vLLM wheels do not exist yet.","solutions":["Run the workload on Python 3.10-3.13 where vLLM wheels exist, then pip install vllm","Or use the TRANSFORMERS engine for local inference on Python 3.14","Or use the API engine with a remote vLLM server so the client machine's Python version does not matter"],"exampleFix":"# before (Python 3.14 host)\noptions = VllmVlmEngineOptions()  # initialize() -> ImportError: not available on 3.14\n\n# after\n# use a 3.12 environment:\n# pyenv install 3.12 && pyenv local 3.12 && pip install vllm docling\noptions = VllmVlmEngineOptions()","handlingStrategy":"validation","validationCode":"import sys\n\nif sys.version_info >= (3, 14):\n    raise SystemExit(\n        'vLLM is unavailable on Python 3.14+; use Python 3.10-3.13, '\n        'the TRANSFORMERS engine, or the API engine against a remote vLLM server'\n    )","typeGuard":null,"tryCatchPattern":"try:\n    engine.initialize()\nexcept ImportError as e:\n    if 'Python 3.14' in str(e):\n        raise SystemExit('Run on Python 3.13 or older for the vLLM engine, or use TRANSFORMERS/API') from e\n    raise","preventionTips":["Pin the deployment interpreter to a Python version supported by vLLM (3.10-3.13)","Add a sys.version_info guard before building VLLM pipelines","For newest-Python hosts, use the API engine against a vLLM server running elsewhere"],"tags":["vlm","vllm","python-version","environment","import-error"],"backgroundTag":null,"analyzedSha":"61d76f1ff3f8428065465889f7b4577da7df704c","analyzedAt":"2026-08-14T23:53:18.727Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}