欢迎关注”生信修炼手册”!
environments作为conda的核心组件,用于封装相互独立的软件环境。通过在不同的environment中安装packages,来实现不同软件的相互独立,通过在不同的environments之间进行切换,从而运行不同的packages。
在environments中,有一个基本概念,叫做base environment,可以通过如下命令来查看
conda info --base
其实体是一个目录,在该文件夹下,包含了以下几个目录
1. pkgs, 下载的packages源文件以及解压缩之后的文件夹
2. envs, 新创建的environments
3. bin, 可执行程序
4. include, packages依赖的头文件
5. lib, packages依赖的动态链接库
6. share,存放共用的软件包
除了pkgs和envs目录是base environment文件夹独有的,其他几个文件夹在所有的envrionments目录下都会存在。
对于environments, 常用的有以下几种操作
1. 创建
通过create子命令来创建一个新的env, 命令如下
conda create -n myenv numpy
-n参数指定要创建的env的名称,接下来的参数指定要安装的packages,除了在创建env的同时指定安装包,也可以创建好之后,再进行安装,命令如下
conda create -n myenv
2. 使用
当我们创建好一个env之后,需要切换进去,才可以在里面操作,包括安装和使用packages, 典型的使用一个env的过程如下
# 切换进去
conda activate myenv
# 安装包
conda install scipy
# 退出
conda deavtivate
3. 迁移
当我们想要将一个conda的env在不同服务器之间迁移时,有以下两种方式,第一种是导出该env的所有安装包信息,然后再另外的服务器上根据这个配置文件重新下载生成一个env, 用法如下
# 生成environment.yml文件
conda env export > environment.yml
# 根据environment.yml文件创建新的env
conda env create -f environment.yml
这种方式的最大特点是适合不同操作系统的conda迁移,因为保留的是包的信息,下载的时候会根据操作系统自动下载对应的包。
第二种适用于相同操作系统平台的迁移,用法如下