conda是一个能运行于windows/mac os/linux的基于python开发的开源包管理器,他能很方便快捷的安装,运行,更新软件及其依赖。并且能够轻松的创建,保存,加载或切换conda管理的软件环境,从而摆脱没有root的烦恼。
- conda管理的软件环境:conda可以创建一个和其他软件独立的环境,在此环境中你可以装一个软件或者一类软件以及他们的所有依赖。需要使用的时候conda/source activate 环境名激活这个环境就可以了。
安装conda:
# 安装miniconda软件管理器安装conda https://conda.io/miniconda.html wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.sh ./Miniconda3-latest-Linux-x86_64.sh # 按提示操作,如回车确定,输入yes同意许可,输入安装目录或回车按默认安装; /share/soft/miniconda2 #我的安装目录 # 完成后关闭当前终端,新打开一个终端继续操作才能生效 # 升级conda为最新版:新版的bug最少,碰到问题的机会也小 conda update conda
配置conda(手动修改配置文件.condarc,或者可通过命令配置):
这里只介绍常用的:添加conda的安装channels(频道或者源),并指定顺序,对于生信工作着来说,推荐:
[root@localhost miniconda2]# conda config --add channels defaults [root@localhost miniconda2]# conda config --add channels conda-forge [root@localhost miniconda2]# conda config --add channels bioconda #conda config --add channels 其实修改的是conda配置文件.condarc,修改后结果如下 [root@localhost miniconda2]# more ~/.condarc channels: - bioconda #第一优先级频道 - conda-forge #第二优先级频道 - defaults #第三优先级频道
软件会根据你的频道的优先级来安装,比如ncurses这个包在conda-forge,defaults频道都有,那么更具我们的配置文件,有限安装conda-forge的,所以如果不按这个优先级,部分软件可能安装后可能会跑错。
比如lefse安装的时候用的defaults频道的ncurses,而不是conda-forge,由于这两个频道中的ncurses有差异,最终导致各种依赖库报错(主要是其中依赖的R运行的报错),最终重装了conda-forge的ncurses[conda install -n lefse libiconv #由于报错缺这个库,我就直接安装了一下; conda install -n lefse -c conda-forge ncurses #重装了conda-forge的ncurses],问题解决。
安装软件:(如果是bioconda可通过检索bioconda资源库来确认你要下载的包是否支持,默认频道defaults好像不支持检索,用conda search命令)
conda install bwa #安装bwa到conda的默认环境[安装到和conda安装文件的bin目录下],不建立新环境 conda create -n aligners bwa bowtie hisat star #建立一个新环境 aligners ,在里面安装bwa bowtie hisat star等比对软件
其他常见命令:
conda create -n myenv scipy=0.15.0 #创建一个含有指定版本软件的环境 conda install -n myenv bwa #安装bwa到环境myenv中 也可以通过-c指定通过某个channel安装 conda list #查看当前环境中安装的软件 conda list -n myenv #查看某个环境中安装的包 conda list -n myenv scipy #查看myenv环境中是否安装软件scipy conda remove --name myenv --all #移除一个环境 --name/-n conda env remove --name myenv #效果同上 conda info --envs #确认某个环境被删除,如果能在显示的环境list中看到说明没被删除,当前环境用"*"表示 conda env list #同上 conda list --explicit #查看当前环境的安装包的具体list conda list --explicit > spec-file.txt #导出具体list conda create --name myenv --file spec-file.txt #通过安装包的具体list在其他机器(最好系统相同)上重建环境 conda install --name oldmyenv --file spec-file.txt #将安装包list中的软件装到oldmyenv环境中 conda search numpy #差找某个包 conda update -n myenv numpy #更新myenv环境中的某个包 conda remove -n myenv numpy #删除myenv环境中的某个包
conda,miniconada,anaconda的区别!
conda是一个包管理器,miniconda是conda的安装包/工具,anaconda是一个conda的科学python的发行版。
conda安装后会默认开机开启base虚拟环境,若要取消此默认行为:
conda config --set auto_activate_base false
参考:
https://conda.io/docs/user-guide/index.html
https://bioconda.github.io/index.html#set-up-channels
https://conda.io/docs/user-guide/tasks/manage-environments.html
https://blog.csdn.net/neu_chenguangq/article/details/79451945
https://www.jianshu.com/p/f8a0692df264 #这里面加的是清华大学的频道镜像,对于国内应该快一些。
尊重他人劳动成果,转载请注明出处:Bluesky's blog » 小白神器conda