You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过联网机器虚拟环境向无网络SSH主机迁移安装pip依赖包

实现无网络机器的Python包安装方案

你的思路非常务实,既利用了虚拟环境的优势,又避免了重复上传依赖的麻烦。下面是具体的分步操作指南:

一、联网机器端准备依赖

  1. 创建并激活对应Python版本的空虚拟环境
    因为目标机器用的是Python3.6,所以在联网机器上创建同版本的虚拟环境:
    python3.6 -m venv my_env
    source my_env/bin/activate  # Linux/macOS 环境下激活
    
  2. 安装目标软件包
    在激活的虚拟环境中,安装你需要的所有包(可以直接装单个包,也可以用requirements.txt批量安装):
    # 单个包安装示例
    pip install your-target-package
    # 或者用requirements.txt批量安装
    pip install -r requirements.txt
    
  3. (可选但推荐)清理冗余文件并打包依赖
    为了减少传输体积,先清理pip缓存,再把site-packages里的依赖打包:
    pip cache purge  # 清理pip缓存,避免传输不必要的文件
    cd my_env/lib/python3.6/site-packages
    tar -czf dependencies.tar.gz .  # 把当前目录(所有依赖)打包成压缩包
    
    同时建议导出当前环境的依赖列表,方便后续在无网络机器上精准安装:
    pip freeze > requirements.txt
    

二、将依赖传输到无网络机器

用scp命令把打包好的依赖包和requirements.txt传到远程机器的指定目录(比如/home/user/deps/):

# 传输压缩包和依赖列表
scp dependencies.tar.gz requirements.txt user@remote-host:/home/user/deps/
# 如果没打包,直接传输site-packages目录(不推荐,传输速度慢)
# scp -r my_env/lib/python3.6/site-packages user@remote-host:/home/user/deps/

三、无网络机器端安装

  1. 创建并激活同版本的虚拟环境
    确保远程机器也安装了Python3.6,然后创建虚拟环境:
    python3.6 -m venv remote_env
    source remote_env/bin/activate
    
  2. 解压依赖包(如果之前打包了)
    cd /home/user/deps
    tar -xzf dependencies.tar.gz
    
  3. 从本地目录安装所有依赖
    利用pip的本地安装模式,指定依赖查找路径,不需要联网:
    pip install --no-index --find-links=/home/user/deps -r requirements.txt
    
    如果你没有导出requirements.txt,也可以直接安装目标包(pip会自动从本地路径查找依赖):
    pip install --no-index --find-links=/home/user/deps your-target-package
    

关键注意事项

  • Python版本一致性:务必保证联网机器和无网络机器的Python版本完全一致(比如都是3.6.15),否则部分编译过的二进制依赖可能无法正常运行。
  • 系统架构匹配:如果依赖包含二进制包(如numpy、TensorFlow等),要确保两台机器的系统架构(x86_64/arm64)、glibc版本等一致,避免出现兼容性错误。
  • 权限问题:传输和安装时确保你有对应目录的读写权限,必要时可以调整目录权限,不建议在虚拟环境中使用sudo。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:20:01