Anaconda远程移植
- 操作环境:
- 主机1:Ubuntu 24.2 Cuda version 12.9 持有环境
- 主机2:Ubuntu 24.2 Cuda version 12.9
- 注意:两个环境的Cuda环境必须一致
方法一:压缩环境包并传输
适合环境较大、依赖复杂,且两台主机系统环境相似的情况
- 主机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>为环境名称 - 主机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>文件夹下 - 主机2解压压缩包
1
2
3
4
5
6
7cd /home/<host2 username>
# 解压到当前目录(-x:解压,-z:处理gzip,-v:显示进度,-f:指定文件)
tar -zxvf torch_env.tar.gz
# 移动到conda路径下
mv <env_name> <anaconda3目录>/envs/ - 主机2更新环境路径
1
2source /home/<host2 username>/bin/activate
conda activate <nev_name> - 若主机2上面没有conda环境将pip改为如下:
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 pip1
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
2
3
4conda activate <env_name>
# 导出环境配置
conda env export > torch_env.yml - 将配置文件传输到主机2
1
scp torch_env.yml <host2 username>@<host2 IP Addr>:/home/<host2 username>/
- 主机2依据配置文件创建环境
1
2
3
4conda env create -f torch_env.yml
# 激活环境
conda activate torch
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LinHao's Pages!


