conda环境变量设置与转移
2019-08-04 本文已影响16人
dming1024
参考文章:https://www.cnblogs.com/liaohuiqiang/p/9380417.html
本文的初衷是对之前建立的snakemake conda环境在不同服务器上进行转移,首先从官方网站上下载的environment.yaml,并进行conda的安装与配置,建立本地snakemake分析环境;然后将本地snakemake分析环境进行导出保存为snakemake.yaml,可以在不同服务器上建立自己的snakemake分析环境,达到可移植效果。
查看自己安装的conda env
conda env list
# conda environments:
#
rna /root/miniconda2/envs/rna
snakemake-tutorial /root/miniconda2/envs/snakemake-tutorial
root * /root/miniconda2
查看rna环境下安装的包(-n , 即--name,指环境的名称)
conda list -n rna
# packages in environment at /root/miniconda2/envs/rna:
#
asn1crypto 0.24.0 py27_1003 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.5 py_1 conda-forge
更新指定环境下的包
conda update -n rna
进入conda环境
source activate snakemake-tutorial
退出conda环境
source deactivate
导出conda 下snakemake的配置环境
#通用格式
conda env export -n 项目名 -f environment.yaml
#在env外导出
conda env export -n snakemake-tutorial > snakemake.yml
#在snakemake-tutorial 环境内导出
conda env export > snakemake.yaml
#查看snakemake.yaml文件
cat snakemake.yaml
name: snakemake
channels:
- conda-forge
- bioconda
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- asn1crypto=0.24.0=py35_3
- bcftools=1.3.1=h84994c4_5
- bcrypt=3.1.4=py35h14c3975_0
- bwa=0.7.12=1
删除环境
conda remove -n snakemake-tutorial --all
Package plan for package removal in\
environment /root/miniconda2/envs/snakemake-tutorial:
The following packages will be REMOVED:
asn1crypto: 0.24.0-py35_3 conda-forge
bcftools: 1.3.1-h84994c4_4 bioconda
根据导出的snakemake.yaml文件,新建环境
conda env list
# conda environments:
#
rna /root/miniconda2/envs/rna
root * /root/miniconda2
#根据文件创建环境变量的通用格式
conda env create --name snakemake --file snakemake.yaml
#创建snakmake环境
conda env create -f snakemake.yaml
/root/miniconda2/lib/python2.7/site-\
ackages/conda_env/env.py:68: UnsafeLoaderWarning:\
The default 'Loader' for 'load(stream)' without further\
arguments can be unsafe.
Use 'load(stream, Loader=ruamel_yaml.Loader)' explicitly if that is OK.
Alternatively include the following in your code:
import warnings
warnings.simplefilter('ignore', ruamel_yaml.error.UnsafeLoaderWarning)
In most other cases you should consider using 'safe_load(stream)'
data = yaml.load(yamlstr)
Fetching package metadata .................
Solving package specifications: .
zlib-1.2.11-h5 100% |##############################################################################################################################| Time: 0:00:00 345.02 kB/s
bcftools-1.3.1 100% |##############################################################################################################################| Time: 0:00:00 795.08 kB/s
pyasn1-0.4.6-p 100% |##############################################################################################################################| Time: 0:00:00 5.59 MB/s
dropbox-9.4.0- 100% |##############################################################################################################################| Time: 0:00:00 1.32 MB/s
#
# To activate this environment, use:
# > source activate snakemake
#
# To deactivate an active environment, use:
# > source deactivate
#
conda env list
# conda environments:
#
rna /root/miniconda2/envs/rna
snakemake /root/miniconda2/envs/snakemake
root * /root/miniconda2