迁移虚拟环境
师兄的一篇博客很有帮助,转载一下。
因为创建的虚拟环境是在各自的home
下面,但是,home
的大小是固定的,现在使用的人太多,需要将环境进行迁移。
整个背景是ubuntu16.04
。
假设用户是aaa ,那么
1 | cd ~ |
可以发现有下面的文件和文件夹
1 | .conda |
其中.conda
是放置虚拟环境的,.condarc
是配置文件。
.conda
这个文件夹里面存放着
environments.txt
envs
pkgs
其中,environments.txt
是各个环境的指向。
cat environments.txt
/home/aaa/.conda/envs/py27
/home/aaa/.conda/envs/py36
然后 envs
存放着我们弄的那些环境,pkgs
存放的是各种第三方库。
我们运行
1 | conda info |
里面有一部分是
1 | package cache : /Users/aaa/anaconda3/pkgs |
我们先做的第一步就是先把之前的那些环境迁移出去。
假设/data
足够大,我们创建下面的路径
1 | /data/aaa/.conda |
然后将
1 | mv ~/.conda/envs /data/aaa/.conda |
迁出去之后,我们要修改 environment.txt 将内容换成
1 | /data/aaa/.conda/envs/py27 |
然后
1 | cd ~ |
修改配置信息,添加
1 | envs_dirs: |
再次执行conda info
1 |
|
至此,迁移成功。
但是,虽然迁移成功,但是进入虚拟环境的时候,pip
的时候会出错。
1 | bad interpreter: No such file or directory |
这是因为,我们需要把环境指向编译器。
假设我们把
原来位置上的py3.7
移动到了/data/aaa/.conda/envs/py3.7
中。
我们
1 | cd /data/aaa/.conda/envs/py3.7/bin |
我们在#!
中添加
1 | /data/aaa/.conda/envs/py3.7/bin/python |
下面是一个例子。
——————————————————————————————————————————