飞道的博客

管理conda environments

347人阅读  评论(0)

欢迎关注”生信修炼手册”!

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的过程如下


   
  1. # 切换进去
  2. conda activate myenv
  3. # 安装包
  4. conda install scipy
  5. # 退出
  6. conda deavtivate

3. 迁移

当我们想要将一个conda的env在不同服务器之间迁移时,有以下两种方式,第一种是导出该env的所有安装包信息,然后再另外的服务器上根据这个配置文件重新下载生成一个env, 用法如下


   
  1. # 生成environment.yml文件
  2. conda env export > environment.yml
  3. # 根据environment.yml文件创建新的env
  4. conda env create -f environment.yml

这种方式的最大特点是适合不同操作系统的conda迁移,因为保留的是包的信息,下载的时候会根据操作系统自动下载对应的包。

第二种适用于相同操作系统平台的迁移,用法如下


   
  1. # 生成spec文件
  2. conda list --explicit > spec-file.txt
  3. # 根据spec文件生成新的env
  4. conda create --name myenv --file spec-file.txt

4. 复制

有时我们需要在某个env的基础上安装新的包,然后另存为一个新的env, 因为这样可以避免基础包的重复安装,此时可以先复制env, 再安装包,用法如下

conda create --name myclone --clone myenv

5. 删除

对于经常不用的env,为了节省磁盘空间,可以进行删除,用法如下

conda remove --name myenv --all

通过以上几条基础命令,就可以熟练掌握environments的常见用法。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

  更多精彩

  写在最后

转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的

生信公众号


转载:https://blog.csdn.net/weixin_43569478/article/details/111056087
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场