有时我们需要在不同服务器配置同样环境,刚好最近也有这样的需求,所以记录下。
查看旧服务器当前环境
$ conda env list
# conda environments:
#
base * /home/zhouwg/anaconda3
cpdb /home/zhouwg/anaconda3/envs/cpdb
java /home/zhouwg/anaconda3/envs/java
r-reticulate /home/zhouwg/anaconda3/envs/r-reticulate
scATACseq /home/zhouwg/anaconda3/envs/scATACseq
scenic_protocol /home/zhouwg/anaconda3/envs/scenic_protocol
可以看到我这里有六个环境,接下来我想导出 scATACseq
# -n 后面的参数是旧服务器要克隆的环境名称
conda env export -n scATACseq > scATACseq.yaml
将旧服务器的yaml文件 copy 到新服务器
scp scATACseq.yaml username@IP:/home/xxx/data/software
在新服务器上创建该配置的虚拟环境
# -n 后的参数是在B上要创建的虚拟环境名称, -f 后参数指的是yaml环境内容
conda env create -n scATACseq -f scATACseq.yaml
注意:
如果发现没有相关依赖的pip包,可能与你的conda版本有关,接着用以下命令进行导出pip包
## 导出
pip freeze > requirements.txt
## 导入
pip install -r requirements.txt
其实这样也解决不了根本问题,保持conda版本一致会省去不小的麻烦
网友评论