大家早上好啊,以后每一天的推送都改到早上时间,美好的一天从学习开始吧!

前言

生物信息学的日常就是利用五花八门的工具和各种各样的数据打交道,很多时候需要在命令行安装软件或者包。我相信每一个生信人都碰到过安装软件或包时无法解决依赖的囧况,安装软件或者包,听起来是一件很简单的一件事,实际情况却不是如此。比如说编译时碰到系统lib不存在或版本太低,安装一个python/R包却需要升级当前的python/R,而这又会导致之前安装好的包不能使用。今天给大家介绍一下跨平台包管理神器Anaconda,学习一下它在Linux下的正确使用姿势。

Anaconda是什么?

官方介绍“The World's Most Popular Python/R Data Science Platform”。简单来说,Anaconda是包管理器和环境管理器。

安装 Anaconda

在清华大学 TUNA 镜像源(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)选择对应的操作系统与所需的Python版本下载Anaconda安装包。比如我下载了Anaconda3-2019.10-Linux-x86_64.sh这个安装包,那么安装命令如下

bash Anaconda3-2019.10-Linux-x86_64.sh

后面会有一些选项停顿,直接回车确认。

1

包管理

安装包

假如我要安装scipy这个科学计算包,那么可以输入如下命令

conda install scipy

conda会自动搜索并解决包依赖项,你只需要按回车即可。有时候我们想安装某个指定版本的包,那么就需要先知道conda里面存在哪些版本的包,可以输入如下命令就行搜索

conda search scipy

搜索结果还挺多的,部分结果如下

如果我想安装0.19.1这个版本的scipy,那么输入如下命令

conda install scipy=0.19.1

最后一列信息为channel,这个channe是很重要的一个信息,有时候一些包找不到,很大原因是当前的channe里面还没有,但是其他channel实际上有。怎样添加channel呢?稍安勿躁,后面添加镜像部分会提到。

删除包

有安装就有卸载,卸载包命令如下

conda remove scipy

更新包

conda update scipy

2

管理环境

环境非常有用,它能让你为某个项目单独建立一个运行时,而不会与现有的环境产生冲突。此外,当你需要将项目迁移到其他机器的时候,可以将整个环境迁移过去,彻底解决移植的难题。

建立环境

先看如下命令

conda create -n env_name package_names

上面的命令中,env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要创建环境的名称),package_names 是你要安装在创建环境中的包名称。例如创建环境名称为py3,并安装最新版本的Python3,那么在终端中输入

conda create -n py3 python=3

列出环境

conda env list

你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。

删除环境

如果你不再使用某个环境,可以使用如下命令删除指定的环境

conda env remove -n env_name

进入环境

source activate env_name

在环境中安装包的命令与前面一样:conda install package_name。不过,这次你安装的包仅在你进入此环境后才可用。其他环境是不知道这个包的存在的。

离开环境

source deactivate

共享环境

共享环境非常有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。比如你开发了一个数据分析系统,你要提交给项目部署系统的王二狗来部署你的项目,但是王二狗并不知道你当时开发时使用的是哪个python版本,以及使用了哪些包和包的版本。这怎么办呢?你可以在你的环境中终端中使用如下命令将你当前的环境保存到文件中。

conda env export > environment.yaml

导出的环境文件,在其他电脑中如何使用呢?使用如下命令加载刚刚导出的环境

conda env create -f environment.yaml

3

设置国内镜像

如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源(https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)有Anaconda仓库的镜像,如下图所示:

将红框中的代码复制保存到 ~/.condarc 文件。这个文件记录着我们对conda的配置。保存之后可以用如下命令检查一下

conda config  --show

可以看到已经成功加入了几个不同channels的镜像地址。

专注生物学领域的bioconda的channel也包含在里面了。假设需要安装DESeq2这个包,这是一个发布在bioconductor的R包。默认的channel里面是没有的。可以使用如下命令进行安装

conda install -c bioconda bioconductor-deseq

上述命令中的“-c bioconda”就是告诉conda,要去bioconda这个channel这个源去检索DESeq2这个包。

4

加分篇

重命名环境

conda create --name newname --clone oldname  #克隆环境conda remove --name oldname --all  #彻底删除旧环境

回滚

conda list --revisionsconda install --revision [revision number]

今天的分享就到这里,有什么问题留言吧。

扫码关注最新动态

生物信息学

anaconda删除没用的包_Anaconda:解决你装包的烦恼相关推荐

  1. anaconda删除没用的包_conda 删除包

    关于pycharm中使用conda环境的问题 我安装了anaconda环境,然后安装了numpy包,用conda list查看是安装成功首先conda和原版python的虚拟环境没有区别,感觉上唯一的 ...

  2. anaconda怎么使用python包_Anaconda中python包的介绍与使用方法

    Anaconda中python包的介绍与使用方法 目录: 1.包的定义 2.常用包管理器 3.包管理器的使用方法 4.数据科学常用的包 1.包的定义 由多个和同一功能相关的模块组成,通常为含有_ini ...

  3. anaconda和python都有_Anaconda和python有什么区别-Anaconda和python区别介绍

    软件功能:Anaconda正式版是款针对程序员们使用的编程开发工具.Anaconda最新版应用领域范围非常广,遍及了金融.人工智能.系统运维.Web开发.科学计算.云计算.大数据.游戏开发等多个方面. ...

  4. 【平民系列教程】强悍的杀毒辅助软件Wsyscheck—没用过包你肠子都悔青了

    [平民系列教程]强悍的杀毒辅助软件Wsyscheck-没用过包你肠子都悔青了 ===============================================我是传说中的分割线===== ...

  5. Android - 已安装了存在签名冲突的同名数据包,解决方法!

    错误提示:已安装了存在签名冲突的同名数据包. 解决方法:打开Android Studio,打开logcat,用usb线连接你出错的手机,识别出手机之后,在你的项目后面,点击"run" ...

  6. maven引入hadoop_Maven引入hadoop依赖包出错解决办法

    错误: ArtifactTransferException: Failure to transfer org.apache.hadoop:hadoop-hdfs:jar:2.6.0 from http ...

  7. IntelliJ IDEA Maven jar包冲突解决,快速发现jar包冲突

    IntelliJ IDEA 自带的Diagrams 去查看jar包冲突相当费劲 ~ ,安装个插件即可快速解决该问题 打开Settings,搜索maven helper,并安装 安装完成后,直接打开po ...

  8. 使用Anaconda进行环境和包的管理

    有关概念和思想参考:https://blog.csdn.net/goodshot/article/details/54911834 使用conda  首先我们将要确认你已经安装好了conda 配置环境 ...

  9. python2 python3共存导致conda报错_Windows运维之Windows10下配置Python2和Python3共存 并用anaconda实现方便的包管理...

    本文主要向大家介绍了Windows运维之Windows10下配置Python2和Python3共存 并用anaconda实现方便的包管理,通过具体的内容向大家展现,希望对大家学习Windows运维有所 ...

最新文章

  1. iOS下JS与OC互相调用(七)--Cordova 基础
  2. 高斯-赛德尔迭代法简介
  3. 以非root 用戶安裝並啟動高級單服務器版
  4. bin文件转换成html,怎么样把BIN文件转换成ISO文件
  5. timestamp 字段
  6. 足不出户,游遍七大洲,不可错过的14部地理纪录片!
  7. ie浏览器发送错误报告提示怎么关闭
  8. python 模拟用户点击浏览器_使用python进行模拟浏览器操作
  9. Spring Boot通过url设置国际化
  10. 转: 借助GitHub托管你的项目代码
  11. ATA和ATAPI类型硬盘区别方法
  12. js中获取月份date.getMonth()获取的是0-11
  13. Three.js使用rotation旋转模型
  14. android手机和包支付,中国移动和包支付客户端下载-和包支付appv9.7.16 安卓版-手机腾牛网...
  15. 众海世纪影业:五一档19部影片“扎堆”,能否再次掀起观影热潮?
  16. 穷人思维和富人思维的根本区别在于底层系统不一样
  17. element ui 控件与布局学习(自用)
  18. MISAG与MIMAG:基因组质量评估标准
  19. int main(int argc,char* argv[]) 解析
  20. 训练网络时,loss损失的问题

热门文章

  1. echarts 地图拖拽和缩放
  2. 用ps实现小风车的动画效果
  3. mysql 李玉婷网课配套笔记(五) 分页查询,库和表的管理
  4. Nexperia | 发布超小尺寸DFN MOSFET
  5. 【巨杉数据库SequoiaDB】巨杉数据库 v5.0 Beta版 正式发布
  6. 深圳Java学习:分享几道真实的企业Java工程师笔试题
  7. 用Python打造个性化DIY 群聊机器人,打发你那无处安放的时间。
  8. SSH常用操作快捷键
  9. 论证掌握需求的重要性
  10. 前端调用微信内置地图