You need to enable JavaScript to run this app. 如何通过联网跳板机M1为无网远程机M2完成带依赖的pip安装
优惠活动
大模型
产品
解决方案
定价
更多

如何通过联网跳板机M1为无网远程机M2完成带依赖的pip安装

借助联网跳板机为无网主机安装pip包的高效方案

前置校验(必须执行,避免包不兼容)

  • 通过SSH跳板登录M2,执行以下命令记录核心参数:
    • python3 --version 记录Python主版本号(如3.9、3.11)
    • uname -m 记录CPU架构(如x86_64、aarch64)
    • 若pip版本低于20.0,需准备对应升级包
  • 退出M2,回到M1的Shell环境操作
  • 备注:若M1和M2的Python版本、CPU架构完全一致,可跳过适配参数配置,直接下载M1当前环境适配的包

方案一:临时单次安装(最快落地)

用pip内置的download命令一次性拉取所有适配目标环境的包及依赖,无需手动梳理依赖关系

  1. 在M1上创建临时存储目录,执行下载命令:
    mkdir -p ~/pip_m2_pkgs
    pip download <需安装的包名,多个包用空格分隔> -d ~/pip_m2_pkgs \
    --platform <替换为M2架构对应的pip平台标识,如x86_64对应manylinux2014_x86_64,aarch64对应manylinux2014_aarch64> \
    --python-version <替换为M2的Python主版本号,如39、311> \
    --prefer-binary
    
    补充说明:
    • 若已在M1上部署好相同的Python环境,可先执行pip freeze > requirements.txt导出依赖列表,命令改为pip download -r requirements.txt -d ~/pip_m2_pkgs ...,无需手动列包名
    • 需安装私有源包时,在命令末尾追加--index-url <对应私有源地址>即可
  2. 打包下载好的包目录,直接通过内网链路传到M2(无需本地电脑中转):
    tar -czf m2_pkgs.tar.gz ~/pip_m2_pkgs
    scp m2_pkgs.tar.gz <M2用户名>@<M2内网IP>:~/
    
  3. 登录M2,解压后执行离线安装:
    tar -xzf m2_pkgs.tar.gz
    pip install --no-index --find-links=~/pip_m2_pkgs <和下载时一致的包名/依赖列表>
    

方案二:长期高频安装(反复使用更省事)

依托M1和M2的内网连通性,直接把M1搭成临时pip源,后续M2安装包无需反复传输文件

  1. 在M1上创建公共包存储目录,提前把常用包、私有源包全部下载到该目录:
    mkdir -p ~/local_pip_source
    pip download <常用包列表> -d ~/local_pip_source --no-cache-dir
    
  2. 在该目录下启动HTTP服务,自动生成pip兼容的索引:
    cd ~/local_pip_source
    python3 -m http.server 8080
    
  3. 登录M2,安装时直接指定M1的源地址即可,命令和常规在线安装完全一致:
    pip install --index-url http://<M1内网IP>:8080/simple <需安装的包名>
    
    可将该源地址写入M2的pip配置文件~/.pip/pip.conf,后续安装无需手动指定参数

常见避坑说明

  • 必须严格对齐M2的Python版本、CPU架构,否则下载的包无法在M2运行,禁止直接拷贝M1的已安装Python包目录到M2使用
  • --prefer-binary参数会优先下载预编译的wheel包,避免M2因缺少gcc、编译依赖导致安装失败
  • 若M2的pip版本过旧,先在M1下载对应平台的最新pip wheel包,传到M2手动执行pip install <pip的wheel包路径>升级后再操作

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.10 20:24:01