Anaconda复制/克隆虚拟环境到其他机器

有时候服务器网速特别慢,安装一个带python3的虚拟环境都成功不了,更别说还有一大坨的pytorch等等包还要从头装。

一个便捷的方法是克隆装备齐全的虚拟环境。

1.复制整个虚拟环境文件夹到新服务器的~/anaconda3/envs目录下(假设我们要复制的是env)

不要使用这条命令!除非你十分清楚当前目录下已有环境不会被覆盖/覆盖也无所谓
scp -r username@ip.add.re.ss:/home/username/anaconda3/envs/env ./

更新:由于~/anaconda3/envs/目录下是已经安装的环境,经评论区提醒,scp同名环境复制过来会覆盖原本的!而且不可恢复!直接scp一个环境到空间足够大的任意目录即可!

scp -r username@ip.add.re.ss:/home/username/anaconda3/envs/env ~/

2.使用conda clone命令创建一个新的虚拟环境(--name 指定新环境名称,--clone指定复制源路径)

这是旧版本的写法,不要使用这条命令!除非你不会出现误覆盖已有环境的错误
conda create --name new_env --clone ~/anaconda3/envs/env/
conda create --name new_env --clone ~/env

3.很快就成功了

4.我们可以把env这个仅供复制使用的环境删掉了(~/anaconda3/envs目录下)

我们可以把env这个仅供复制使用的环境删掉了(~/目录下)

rm -rf env

常见问题:

1.如果原机器上用conda install或者pip install命令安装过本地下载好的文件,新机器上可能会找不到文件路径,这时候可以在新机器上一模一样弄一个路径,存放安装包,然后重新conda clone就会成功

2.如果复制env过来直接使用,pip install会出问题,所以还是要conda clone一下

3.这样复制的新环境,pip install的包都会在,感觉就像即插即用

经验分享 程序员 微信小程序 职场和发展