今天终于学到了怎么安装软件,顺道解决了conda是什么的疑惑
anaconda:所有语言的包、依赖和环境管理器,几乎全平台(Windows、macOS、Linux)
相比手动装软件,可以解决很多问题
anaconda适合于本地安装,miniconda是本节课学习的安装在自己服务器账号的软件
miniconda没有图形界面
服务器在国内,conda安装时就使用国内镜像,通常选择清华或者北外,如果服务器在国外就选择官网
可以使用 wget 下载conda的安装包
-c continue,断点续传,恢复获取部分下载的文件
也可以检索conda 清华/北外镜像从网站上获取
安装miniconda3
1.运行 bash Miniconda3-latest-Linux-x86_64.sh
2.查看并同意软件license
3.选择安装位置
4.同意conda初始化
5.重新加载~/.bashrc文件或者重新开shell窗口
6.设置是否要默认启动base环境(可选)
代码语言:sh复制conda -h
# 能输出conda 的帮助文档就说明安装成功
conda config --set auto_activate_base false
#这样设置之后就每次需要手动登录conda,一般不设置
conda需要添加频道
类似于电视机的频道,要收得到对应的频道的信号才能看到该频道的节目,要配置好conda的频道才能用conda安装该频道的软件
代码语言:sh复制conda config --add channels <URL>
conda config --set show_channels_urls yes
#可以帮我们找到出错的包是从哪个频道下载的,那么只要换个地方下载即可
不要重复添加相同的频道
添加的顺序是有意义的,因为我们用的大多数软件主要在bioconda里,所以把相应频道列在最前面,conda就会最先找
如何查看配置镜像结果:配置镜像完成后会在~/.condarc 文件中写入
代码语言:sh复制cat ~/.bashrc
# 查看镜像配置的结果
可以考虑手动删除defaults,因为是官方频道,有时连接比较慢
代码语言:sh复制sed -i‘/defaults/d' ~/.condarc
创建独立小环境,建议不要往base环境安装任何软件包,如果不小心装进base里了,那只要conda还能用就不管它,原因如下:
1、conda会改变原来设置好的环境
2、不同的软件的依赖会相互冲突
3、方便项目管理(基因组,转录组,Chip-seq,相应就算是同一个软件在不同的环境里都要重新安装一遍,不用担心多个安装软件占据太多存储,因为软件远不如数据大)
代码语言:sh复制conda create -n rna
#创建一个名为rna的conda小环境
# -n 指定环境名称
conda env list
#展示全部已经有的环境
conda info -env
# 看环境的信息,两者效果相同
conda remove -n rna --all
# 删除环境及包
conda create -n rna python=3.8 -y
# 创建环境时可以预装软件并指定版本
# -y的作用是代替我写yes去安装
conda只要能正常使用就没有必要升级,但3.8以后conda有较大的更新,更早的版本conda建议升级
创建小环境成功之后会出现3个done,代表成功了
哪些软件可以用conda安装?
方法1:网站查询
https://anaconda.org/search
https://bioconda.github.io/
方法2:conda search xxx
方法3:关键词检索
conda可以一次安装多个软件,但是容易遇到报错
下载过程可能受网络影响没下载成功,可以自行再运行一遍一遍,出现3个done表示安装成功,并通过调用软件的帮助文档检查是否安装成功
不指定版本时安装最新的版本
问题1:如何安装旧版本?
1、conda search fastq 查看有哪些可以安装的版本
2、安装指定版本的软件
conda install fastqc=0.11.7 注意不要有空格,否则就变成安装fastqc = 0.11.7三个内容
如果要升级,可以conda update或者指定最新版本去安装
安装包的名称和实际调用的程序可能不同
代码语言:sh复制conda list
#查看当前环境所安装的软件
conda list fast*
# 查看符合正则表达式的软件
conda list -n base python
# 查看指定环境的软件
conda remove fastq
# 删除软件
# 一般不删除,可能会引起不必要的依赖相关的玛法
conda remove -n rna fastqc
# 不指定-n就得进入该环境之后才能删除操作
# -y参数能够跳过确认执行的步骤
安装软件的另一种方式:用yml文件安装
适用于已经配置好的环境加粗导出给别人下载安装
导出当前环境:
代码语言:sh复制conda env export envname > env.yml #(跨平台均适用)
conda list --explicit > env.txt #(仅限相同平台)
导入环境:
代码语言:sh复制conda env create --name <envname> --file env.yml
conda create --name <env> --file <file this file>
常见报错及解决方法:CondaHTTPerror
此时为服务器网络问题,如果是本地网络问题那就根本连不上服务器
1.确认当前服务器网络正常 (可尝试 ping www.baidu.com)
2.conda clean -a 清空环境中所有的缓存tarball 压缩包,index,package(没有安装的包)
3.把~/.condarc中的https中的s去掉变成http,去掉安全相关的交互信息
4.换个时间再试试
一直在solving environment
1.网络差,换个时间试试
2.conda clean -a 清空环境中的缓存
3.实在不行就重新创建环境安装
频道404
添加的频道不存在,从.condarc文件中删除错误频道后重新添加
conda config --add channels https://xxxx
依赖库缺失——缺啥补啥
如果提示确实libtbb.so.2 conda install tbb=2020.3
TIPS
1、把~/.bashrc 当做整体不容易出错
个人感受:能用yml安装还是憋整自己一个个手装了,特别是有个别包打死装不上的时候,我的multiqc就怎么也搞不上,解决方法是把全部的都update,multiqc能用了,原来包的老版本都丢了,尴尬
生信技能树,生信马拉松,萌老师