• 操作环境
    • 主机1:Ubuntu 24.2 Cuda version 12.9 持有环境
    • 主机2:Ubuntu 24.2 Cuda version 12.9
  • 注意:两个环境的Cuda环境必须一致

方法一:压缩环境包并传输

适合环境较大、依赖复杂,且两台主机系统环境相似的情况

  1. 主机1压缩环境目录
    1
    2
    3
    4
    5
    # 进入Anaconda环境目录
    cd /home/<host1 username>/software/anaconda3/envs/ # 记得改为自己的anaconda路径

    # 压缩torch环境(-z:gzip压缩,-c:创建归档,-v:显示进度,-f:指定文件名)
    tar -zcvf torch_env.tar.gz <env_name>
    其中,<host1 username>为主机1的用户名,<env_name>为环境名称
  2. 主机1传输压缩包到主机2
    1
    scp torch_env.tar.gz <host2 username>@<host2 IP Addr>:/home/<host2 username>
    其中,<host2 username>为主机2的用户名,<host2 IP Addr>为主机2的IP地址,传输到主机2的/home/<host2 username>文件夹下
  3. 主机2解压压缩包
    1
    2
    3
    4
    5
    6
    7
    cd /home/<host2 username>

    # 解压到当前目录(-x:解压,-z:处理gzip,-v:显示进度,-f:指定文件)
    tar -zxvf torch_env.tar.gz

    # 移动到conda路径下
    mv <env_name> <anaconda3目录>/envs/
  4. 主机2更新环境路径
    1
    2
    source /home/<host2 username>/bin/activate
    conda activate <nev_name>
  5. 若主机2上面没有conda环境
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 直接执行 or 添加环境变量
    # 直接执行
    ./<env_name>/bin/python <python file>

    # 添加环境变量
    export PATH=/home/<host2 username>/<env_name>/bin
    python <python file>

    # 同时修改 pip 路径(不修改,安装包时会报错)
    sudo nano pip
    将pip改为如下:
    1
    2
    3
    4
    5
    6
    7
    8
    #!/home/user/software/anaconda3/envs/torch/bin/python3.13  <- 将这行改为移植后的路径 
    # -*- coding: utf-8 -*-
    import re
    import sys
    from pip._internal.cli.main import main
    if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

方法二:导出环境依赖项信息

适合环境较小,或两台主机系统差异较大的情况

  1. 主机1导出环境配置
    1
    2
    3
    4
    conda activate <env_name>

    # 导出环境配置
    conda env export > torch_env.yml
  2. 将配置文件传输到主机2
    1
    scp torch_env.yml <host2 username>@<host2 IP Addr>:/home/<host2 username>/
  3. 主机2依据配置文件创建环境
    1
    2
    3
    4
    conda env create -f torch_env.yml

    # 激活环境
    conda activate torch