慎用Anaconda进行软件管理

简介: 装软件就跟插线一样在Linux里面有一个巨大的梦魇就是软件包之间的依赖关系, 安装软件的时候各种依赖库找不到, 很让人抓狂.好消息是不同的Linux发行版提提供各自的依赖管理系统, apt/yum是目前比较常见的管理工具.
img_00827c27d76a8d0ff829d2263a52b797.png
装软件就跟插线一样

在Linux里面有一个巨大的梦魇就是软件包之间的依赖关系, 安装软件的时候各种依赖库找不到, 很让人抓狂.好消息是不同的Linux发行版提提供各自的依赖管理系统, apt/yum是目前比较常见的管理工具. 如果你有管理员权限, 你能够非常开心地使用他们降低你的压力,但是有些时候你使用的服务器集群不允许你直接使用apt/yum进行更新,或者说你干脆就没有管理员权限,你就要非常蛋疼的手动安装每个软件的前置依赖.

好消息是anaconda推出了conda, 这是一款非常强大的非管理员下的软件管理工具. conda有一个官方的channel, 还有许多的第三方channel增加了conda能够安装的软件.但是事情并没有那么美好,今天我偶然间看到一篇文章 Notes on Anaconda,里面就说到了conda的channel的顺序会造成许多软件出现动态依赖库找不到的噩梦. 因此作者说了下面这一句

I’ve learned more since writing these notes. Now, I cannot recommend scientists use conda, at least to manage Python, R, and R package installations.

并且举了一个例子,如果你有一个X包来自于conda-forge,一个Y包来自于biconda才能让Z包顺利工作.但是在YAML里面不知道X,Y那个包是来自于conda-forge,那个是来自于bioconda. 比如说conda-forge有一个bzip2-1.0.6,里面有对应的动态.so文件,而defaults也有bzip2-1.0.6,但是没有.so文件. 但是根据按照顺序,conda先从default里面找到了bzip2-1.0.6, 结果你就会在运行软件的时候找不到依赖文件.

对于以上这些问题,我的建议有以下几个

  • 在写YAML的时候主要把你的channel写上去, 并且一定要把default放到最后.
  • 对于Python和R开发的工具,请尽量创建的新的环境进行管理.

如下是原文地址: http://vincebuffalo.org/notes/2017/08/28/notes-on-anaconda.html

这是我的一个YAML文件,好久没有维护了

# version1.0
# email: xuzhougeng@163.com
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
- bioconda
- defaults
dependencies:
# Workflow
- luigi
# Fastq Download And Quality Control Methods
- sra-tools
- fastx_toolkit
- fastqc
- trimmomatic
- multiqc
# Short Reads Alignment Methods
- bwa
- bowtie
- bowtie2
- hisat2
- star
# short sequence Alignment Methods
- blast
# Long Sequence Alignment Methods
- mummer
- pymummer
- gmap
- blat
- lastz
# SAM/BAM/BED Processing tools
- samtools
- bedtools
# SNP Calling Methods
- bcftools
- freebayes
- gatk4
# VCF Processing Tools
- snpeff
# Alignment-Based Gene/Exon/Transcript Estimation Methods
- htseq
# Alignment-Free Transcript Estimation Methods
- salmon
- kallisto
目录
相关文章
|
Windows
Anaconda卸载与重装过程记录
本文记录了博主Anaconda卸载与重装过程记录,此为博主电脑环境发生变化,无奈之举,希望对大家有所帮助
2371 0
Anaconda卸载与重装过程记录
|
IDE Unix Linux
Linux环境基础开发工具使用(yum软件安装工具的使用、vim编辑器使用及握gcc/g++编译器的使用等上)
在之前我配置环境那篇博客我写到的换国内的阿里源,就是指的yum源,如果我们使用默认国外的源,可能会出现连不上,或者网速极慢的情况
|
SQL 数据采集 关系型数据库
sqlyog下载和卸载的最新详细过程,超多图快速安装或者卸载
sqlyog下载和卸载的最新详细过程,超多图快速安装或者卸载
272 0
|
人工智能 Ubuntu Linux
【Linux环境】基础开发工具的使用:yum软件安装、vim编辑器的使用
【Linux环境】基础开发工具的使用:yum软件安装、vim编辑器的使用
117 0
|
Python Windows
完美卸载Anaconda与Python并重装
本文介绍在Windows平台下,彻底删除Anaconda环境与其自带Python版本,并进行重新安装的方法~
878 1
完美卸载Anaconda与Python并重装
|
C++ Python
关于Anaconda的一些操作(安装软件和快速打开)
关于Anaconda的一些操作(安装软件和快速打开)
428 1
关于Anaconda的一些操作(安装软件和快速打开)
|
Ubuntu Shell Python
Ubuntu安装Anaconda及注意事项
Ubuntu安装Anaconda及注意事项
513 0
Ubuntu安装Anaconda及注意事项
|
数据挖掘 Python
Anaconda功能、优点、安装步骤(安装视频)
Anaconda功能、优点、安装步骤(安装视频)
153 0
Anaconda功能、优点、安装步骤(安装视频)
|
Linux Shell Python
Linux系统自带Python2&yum的卸载及重装
介绍Python2和yum卸载及重新安装的全过程,虽然误删除Python及yum不会导致系统挂掉这么严重的问题,但也会增加很多不必要的麻烦,尤其是时间的浪费。所以在执行一些命令,尤其是一些删除、卸载命令时,一定要慎重!
Linux系统自带Python2&yum的卸载及重装