vllm 离线源码安装
在完全离线的环境中从源码安装 vLLM,核心思路是在一台联网机器上准备好所有材料(源码 + 依赖包),然后转移到目标机器上进行编译和安装。整个过程可以分为两个阶段。
在完全离线的环境中从源码安装 vLLM,核心思路是在一台联网机器上准备好所有材料(源码 + 依赖包),然后转移到目标机器上进行编译和安装。整个过程可以分为两个阶段。
第一阶段:在联网环境中准备离线安装包
你需要先在有网络的环境中,下载 vLLM 的源码和所有必要的 Python 依赖包。
-
下载 vLLM 源码
从 GitHub 克隆 vLLM 仓库。git clone https://github.com/vllm-project/vllm.git cd vllm # 可选:切换到特定分支或标签,例如 main 分支或 v0.6.0 # git checkout main -
准备依赖包下载环境
为了确保下载的依赖与目标服务器兼容,建议在 Python 版本与目标服务器一致的虚拟环境中进行操作。# 创建一个新的虚拟环境(Python 版本应与目标服务器一致,如 3.10) python3 -m venv vllm_offline_env source vllm_offline_env/bin/activate -
下载所有依赖包
使用pip download命令,将 vLLM 及其全部依赖包下载到指定目录(例如vllm_packages)。pip 会自动解析setup.py或pyproject.toml中声明的所有依赖。# 创建存放依赖包的目录 mkdir vllm_packages # 下载 vLLM 的所有依赖(不包含 vLLM 自身) # 这里假设你最终要在目标服务器上安装的 vLLM 版本就是当前源码的版本 pip download -d vllm_packages -r requirements/common.txt -r requirements/cuda.txt特别注意:针对你的 CUDA 12.4 环境,请确保下载了匹配的 PyTorch 版本。如果上述命令下载的 PyTorch 版本不对,你可以手动下载指定 CUDA 版本的 PyTorch wheel 文件放入
vllm_packages目录。例如,访问 PyTorch 官方历史版本页面,找到适合你 Python 版本和 CUDA 12.4 的torch-2.5.1+cu124-*.whl文件进行下载。 -
打包材料
将整个vllm源码目录和下载好的vllm_packages依赖包目录一起打包,然后传输到离线的目标服务器上。cd .. tar -czf vllm_offline_build.tar.gz vllm vllm_packages然后通过 U 盘、scp 等方式将
vllm_offline_build.tar.gz传输到目标服务器。
第二阶段:在离线目标服务器上编译安装
在目标服务器上,你将有网络的机器上准备好的材料解压,并进行编译安装。
-
解压材料并进入目录
tar -xzf vllm_offline_build.tar.gz cd vllm -
创建并激活虚拟环境(强烈推荐)
使用与联网环境相同版本的 Python 创建虚拟环境。python3 -m venv vllm_env source vllm_env/bin/activate -
安装核心依赖(离线模式)
首先,使用离线模式安装我们之前准备好的所有依赖包。--no-index告诉 pip 不要访问 PyPI,--find-links则指定从本地目录查找 wheel 文件。pip install --no-index --find-links=../vllm_packages -r requirements/common.txt -r requirements/cuda.txt -
关键步骤:声明使用本地 PyTorch
由于你的目标服务器是离线的,且我们已经手动安装了 PyTorch,需要确保 vLLM 的构建过程使用当前环境中的 PyTorch,而不是尝试去下载。vLLM 提供了一个脚本可以帮我们完成这个设置。python use_existing_torch.py -
编译并安装 vLLM
最后一步,执行安装命令。关键在于使用--no-build-isolation参数,这会强制 pip 在构建时使用当前虚拟环境(已经包含我们离线安装好的所有依赖)中的包,而不是创建一个新的隔离环境去下载,从而确保整个构建过程完全离线。# 使用 --no-build-isolation 确保编译过程不联网 pip install -v --no-build-isolation -e .-
-e代表可编辑模式,如果你想修改代码会很有用。如果不需要,可以去掉。 -
-v会输出详细的编译日志,方便排查问题。
-
验证安装
安装完成后,运行一个简单的 Python 命令来验证 vLLM 是否可以正常导入。
python -c "import vllm; print(vllm.__version__)"
说明:上面来自deepseek.本人基本按照这个步骤。由于没有完全按照这个步骤走了一些弯路,比如没有在其他机器上提前下载whl包。导致离线机器需要哪个下载哪个。导致whl 版本依赖会冲突。不得不手动指定common.txt 中 依赖的版本。 由于没有尝试 离线 pip download -d vllm_packages -r requirements/common.txt -r requirements/cuda.txt。 不知道是否也会有类似问题。
更多推荐



所有评论(0)