背景:与同事进行工作交接,在服务器上想直接拷贝他的环境过来,直接复制anaconda3/envs里的环境包过来后续安装包的时候由于路径是原来的路径会安装到对方环境里,因此使用conda命令来进行环境克隆。
假设需要克隆的环境是A,需要生成的新环境名为B:
conda create -n B --clone A
假设克隆的目标环境路径为D:\anaconda3\envs\py37,需要生成的新的环境名为B:
# 运行以下命令之前最好先运行cd ~,回到根目录进行以下操作
conda create -n B --clone D:\anaconda3\envs\py37
针对方法二有时会出现“ParseError: Could not parse explicit URL:…”的报错信息,此时可以参考以下链接进行解决:conda移植服务器其它用户的环境_服务器conda添加其他用户的-CSDN博客
作者这里搬运一下,即方法三
假设他的环境地址在D:\anaconda3\envs\py37
cd D:\anaconda3\envs\py37
假设保存到目录D:\temp下
conda env export > D:\temp\environment.yaml
如果显示没有权限的话可以找到他本人让他帮你生成
假设需要生成的新的环境名为B:
# 回到家目录
cd ~
# 克隆对方的环境
conda env create -n B -f D:\temp\environment.yaml
采用上述方法即方法二进行环境克隆时又会报“Solving environment: failed ResolvePackageNotFound: - cudatookit==11.31=h9edb442_10 - __glibc[version='>=2.17,❤️.0.a0”的错误,参考以下博客解决:解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误
搬运一下:
# 回到家目录
cd ~
# 克隆对方的环境(environment.yaml为修改后的文件)
conda env create -n B -f D:\temp\environment.yaml