ubantu/linux下的conda环境迁移到其它服务器
目录
1 问题
比如有服务器A,B,C。每次在服务器A配完环境,B和C也要配很麻烦。
因此研究如何把某个服务器的conda环境迁移到其他服务器。
查看所有的conda虚拟环境
conda env list
环境迁移前服务器A的环境:

服务器B的环境:

现在尝试把服务器A的dgml_crop迁移到服务器B中
2 解决尝试一 使用 conda-pack 打包环境
步骤:
1、在服务器A安装 conda-pack:
conda install -c conda-forge conda-pack

2、打包环境:
conda pack -n 环境名 -o 环境名.tar.gz
例如
conda pack -n dgml_crop -o dgml_crop.tar.gz

打包完成
3 在服务器B对迁移的conda环境进行使用尝试
3.1 把在服务器A打包好的环境文件迁移到服务器B
3.1.1 使用xftp软件进行交互性传输(也可以直接用vscode下载上传)
先从A下载到本地,再从本地上传到B

传输完成后ls查看下

3.2 在服务器B/C解压并激活:
先创建个空文件夹
mkdir -p ~/anaconda3/envs/环境名 # 确保路径与服务器A一致
例如
mkdir -p ~/anaconda3/envs/dgml_crop
mkdir -p ~/anaconda3/envs/pytorch310
解压迁移的环境文件到以上路径
tar -xzvf 环境名.tar.gz -C ~/anaconda3/envs/环境名
例如
tar -xzvf dgml_crop.tar.gz -C ~/anaconda3/envs/dgml_crop
tar -xzvf pytorch310.tar.gz -C ~/anaconda3/envs/pytorch310
尝试激活该环境
conda activate dgml_crop

激活成功,此时Conda环境就可用了
4、bug解决记录(没bug不用看)
(报错记录及其解决:

从错误信息看,dgml_crop 环境中存在 conda 和 pip 安装的包冲突(尤其是 sympy 包),导致 conda-pack 无法完整打包。以下是具体解决方案:
conda list | grep sympy # 检查是否同时存在 conda 和 pip 安装的 sympy

有pypi,说明存在冲突
# 删除 pip 安装的冲突包
pip uninstall sympy -y
# 重新用 conda 安装该包(确保版本一致)
conda install sympy=1.13.1 --force-reinstall
重新之前的打包命令,发现可以正常打包了
)
本文来自博客园,作者:JaxonYe,转载请注明原文链接:https://www.cnblogs.com/yechangxin/articles/18714081
侵权必究

浙公网安备 33010602011771号