This commit is contained in:
2026-06-12 14:18:43 +08:00
parent 8852f1fa73
commit d569d5606b
3 changed files with 17 additions and 19 deletions
+12 -15
View File
@@ -6,14 +6,11 @@
"""
import os
import subprocess
import sys
import traceback
VLLM_DIR = '/opt/vllm/vllm'
VLLM_SRC_DIR = '/opt/vllm'
VENV_PYTHON = '/opt/mineru_venv/bin/python'
VENV_PIP = '/opt/mineru_venv/bin/pip'
def patch6_init_platform_fallback():
@@ -64,9 +61,9 @@ def patch7_rocm_break_import_cycle():
def ensure_vllm_installed():
"""确保 vLLM Python 包在当前虚拟环境中可导入。
某些 MinerU 依赖安装流程可能会卸载/覆盖 editable vLLM,导致任务运行时报
"Please install vllm"。如果 /opt/vllm 源码仍在,启动时用 --no-deps 重新注册,
避免扰动已锁定的 ROCm PyTorch/Triton 依赖。
某些 MinerU 依赖安装流程后,site-packages 中可能缺少 vLLM 分发元数据,但
/opt/vllm 源码仍在。此时直接把 /opt/vllm 加入 PYTHONPATH/sys.path 再导入,
避免 editable 安装触发 pyproject 元数据校验失败。
"""
try:
import vllm # noqa: F401
@@ -80,16 +77,16 @@ def ensure_vllm_installed():
'vllm is not installed and /opt/vllm source directory is missing'
)
print('vllm package missing; reinstalling editable /opt/vllm with --no-deps...')
subprocess.check_call([
VENV_PIP,
'install',
'-e', VLLM_SRC_DIR,
'--no-build-isolation',
'--no-deps',
])
print('vllm package missing; trying PYTHONPATH fallback with /opt/vllm...')
current = os.environ.get('PYTHONPATH', '')
paths = [p for p in current.split(':') if p]
if VLLM_SRC_DIR not in paths:
os.environ['PYTHONPATH'] = f"{VLLM_SRC_DIR}:{current}" if current else VLLM_SRC_DIR
if VLLM_SRC_DIR not in sys.path:
sys.path.insert(0, VLLM_SRC_DIR)
import vllm # noqa: F401
print('vllm editable reinstall OK.')
print('vllm import recovered via PYTHONPATH fallback.')
def main():