
生信老学长
“师兄,这个包怎么安。”“师兄,人家要python2和我的python冲突了怎么办”。实验室师妹向你请教的时候,你却无从开口?欸,盆友,跟着老学长学习conda,收获师妹憧憬的目光。
conda(https://anaconda.org/anaconda/conda)是一个用来安装包及部署环境的工具。使用conda可以完美的隔离容易混淆的环境以及解决包不兼容的问题。很多生信相关的包你安装一上午,其实使用conda一个命令行就可以安装。事实上,conda的使用十分简单。
Conda在windows和linux都可以安装,我们这里主要介绍linux系统。Conda分为完整版Anaconda(https://www.anaconda.com/download)或轻量级Miniconda(https://conda.io/miniconda.html)两种。我们一般使用Miniconda就可以。
在https://repo.anaconda.com/archive/我们可以寻找到很多conda包,下载最新的就可以。

或者下载最新文件,在https://www.anaconda.com/download下载页面点击get started。注册后登录下载Linux对应的sh文件。


2、conda的安装
下载后,我们可以通过VScoda将文件上传到我们的服务器。我们在文件选项将目的文件夹添加到工作区,可能需要重新输入密码。我们可以在vscode右击文件夹新建文件,之后将本地文件拖入目的文件夹,这样我们将本地的conda安装包上传到服务器。


在vscode中右击安装包在的文件夹,复制路径。之后,我们打开终端,在这里我们可以输入代码行来进行linux的操作。


我们输入 cd 后ctrl+V粘贴路径,例如cd path/packages/apps。我们使用ls命令来查看文件夹中的文件,这时安装包应该存在在输出中。以我的安装包为例,我们可以输入
bash ./Miniconda3-py39_4.12.0-Linux-x86_64.sh
来启动安装程序。根据提示按下回车,之后一直按下回车到输入yes,之后输入你的目的安装目录(注意要求是没有存在的路径,例如你想在/path/安装,请输入/path/conda,它会自动新建路径)。最后一直根据指示输入yes就可以。



3、conda的一些概念及探索
安装后请重新打开终端,我们可以在这里打开一个新的bash终端。输入conda命令这里如果有指导输出,代表conda安装成功。


此时我们可以探索conda最重要的两个功能,1、环境的建立;2、包的安装。
环境事实上就是各种软件或者库,有时候一些软件需要特定版本范围的库或者软件支持,而我们可以使用conda来开辟各种环境来防止软件的相互影响。我们可以使用以下命令来建立一个名称为envname的并且具有python3.8和R4.3.2的包。
conda create -n envname python=3.8 r-base=4.3.2
建立后我们需要激活这个环境
conda activate envname
此时你的前缀应该从(base)变为(envname)
我们此时学习一些软件及包的安装,这里以R包clusterProfiler为例,我们在https://anaconda.org/中搜索包的名字,点击进入。我们可以使用这里的任意命令输入到终端安装,例如
conda install bioconda::bioconductor-clusterprofiler。
这样,我们就在R中安装好了这个包。我们在终端输入R打开R,加载这个包试一试:library(clusterProfiler)。





4、常用的conda命令
我们之前使用了conda create,conda activate,conda install这三个命令,其余命令请参考
https://docs.conda.org.cn/projects/conda/en/stable/commands/index.html
我们列举一些常用的命令。
anaconda remove 包名 删除包
conda update 包名 更新包
conda env list 列出环境名
conda remove --name env_name --all 删除环境
conda list 包名 列出包的信息
Conda的频道channel实际上是类似库的一个概念,其中defaults是官方频道,conda-forge为共享包的频道。你可以使用
conda config --show channels
命令查看在搜索和安装包时会按顺序查找哪些频道。Conda的频道十分多,当你发现有个软件安装失败的时候,你可以搜寻拥有这个软件的频道,以bwa软件为例:
conda search bwa --info
在url你可以看到在bioconda频道中具有这个包。之后你可以将频道添加到现有的频道中
conda config --add channels bioconda
或者临时使用频道
conda install -c bioconda bwa。
你可以使用
conda config --remove channels bioconda 来删除。
请注意频道冲突,不要随意更改频道顺序,从一个频道安装包的时候可能会引用已经安装的其他频道的软件,这可能导致频道冲突。为了避免不同频道中的包版本冲突,最佳实践是启用严格频道优先级。这强制 Conda 只使用最高优先级频道中的包,即使其他频道有“更新”的版本。以defaults位列,使用
conda config --set defaults strict。

Mamba 是一个快速的 Conda 包管理器,使用 C++ 重写了依赖解析器,与 Conda 完全兼容,它可以并行快速的安装软件。使用conda install -c conda-forge mamba安装mamba。在后续使用conda的时候将conda命令替换为mamba即可。但是请注意,具我使用的经验来看,mamba极其容易导致conda环境的崩坏,请不要在一个常用的成熟conda环境随意使用mamba。
Xv同名:生信老学长
专业项目指导和生信支持
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。