适用无需重新下载依赖包,适合离线或网络受限场景
🔧 一、核心工具:conda-pack
conda-pack
可将整个虚拟环境(包括 Conda/Pip 安装的所有依赖)打包为单个压缩文件,迁移后解压即用
📦 二、操作步骤
✅ 1. 在源机器上打包环境
# 安装 conda-pack(若未安装)
conda install -c conda-forge conda-pack
# 打包指定环境(示例环境名: my_env)
conda pack -n my_env -o my_env.tar.gz
参数说明:
-n my_env
:需打包的环境名称-o my_env.tar.gz
:输出文件名(默认生成在当前目录)
✅ 2. 传输压缩文件到目标机器
使用任意传输工具(如 scp
、rsync
或 U 盘):
scp my_env.tar.gz user@target_ip:/target_path/
✅ 3. 在目标机器上恢复环境
# 创建环境目录(需在 Conda 的 envs 路径下,如 ~/miniconda3/envs/)
mkdir -p ~/miniconda3/envs/my_env
# 解压文件到目录
tar -xzf my_env.tar.gz -C ~/miniconda3/envs/my_env
# 修复环境路径(关键!)
source ~/miniconda3/envs/my_env/bin/activate # 临时激活
conda-unpack # 重置绝对路径
conda deactivate
✅ 4. 验证并使用环境
conda env list # 查看环境列表(应显示 my_env)
conda activate my_env # 激活环境
python -c "import numpy; print(numpy.__version__)" # 测试依赖
⚠️ 三、注意事项
系统兼容性:
打包环境必须与目标机器的 操作系统和架构一致(如 Linux x86_64 → Linux x86_64)
❗ 不支持跨平台迁移(如 Windows → Linux)。
路径问题:
目标机器的 Conda 安装路径(如
~/miniconda3
)无需与源机器相同,conda-unpack
会自动修复路径环境激活失败处理:
若
conda env list
未显示环境,手动添加路径:conda config --add envs_dirs ~/miniconda3/envs/my_env
依赖完整性:
少数情况下 Pip 安装的二进制包(如 PyTorch)可能需重新编译,建议优先用 Conda 安装核心依赖