x
This commit is contained in:
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user