miniconda
我们需要在自己的目录下安装conda环境,所以需要自定义安装位置
mkdir /share/nas6/wangyq/biosoft/miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /share/nas6/wangyq/biosoft/miniconda/miniconda.sh
注意下载下来是sh结尾的文件。
bash /share/nas6/wangyq/biosoft/miniconda/miniconda.sh -b -u -p /share/nas6/wangyq/biosoft/miniconda/
通过-p参数去实现自定义路径
这个时候我们which conda还是没有的,因为我们没有在系统路径里面添加conda
但是我们在安装好的目录下发现conda已经可以通过绝对路径调用了。
添加conda到环境变量
通过钩子hook
/share/nas6/wangyq/biosoft/miniconda/condabin/conda init bash
init bash 会自动的绑定bash,每次启动自动执行conda环境。
记得装完之后要
source ~/.bashrc
然后就可以看到(base)的conda基础环境了。
这个时候我们退出到主要的环境。
补充:其实conda会写入profile里面,所以有的时候即使修改了有关conda的内容,
source ~/.bashrc也不会起作用,除非能覆盖。
所以有关conda本身的操作通常最好重启ssh链接。
conda deactivate
之后要用到的时候
conda activate
但是我们一般是退出的,服务器一般多个人使用,所以有很多的基础环境变量,比如很可能source引用了一个基础的模板系统。
base其实自带了一些版本的软件可能和原始基础环境不一样了,所以需要格外小心。
修改init
个人而言我不是很建议在团队工作的场景下用hook,每次都直接调到base很麻烦。
所以我们要修改一下。
必须执行,需要和bash绑定。,不然只能简单的conda操作,不可以activate我们创建的环境。
当然如果用conda绝对路径一番操作还是可以的。。。
就改成如上的样子
全部注释掉,然后在~/.bashrc
eval "$__conda_setup"
# 退出base环境
eval "conda deactivate"
source ~/.bashrc
conda activate
好了我们就可以正常的使用了。
最好重启ssh链接。
安装软件
最好根据项目内容建立conda环境名称!!!不要根据某一个用到的软件版本
除非是像python这样比较全局的解释器。。。
conda create -n python38 python=3.8
比如我们安装如下的几个软件。
fastqc multiqc samtools sambamba
conda create -n sgcell
environment location: /share/nas6/wangyq/biosoft/miniconda/envs/sgcell
我们创建过的都会在envs文件夹下。
#删除某个环境
conda remove -n 环境名 --all
#删除某个环境下的某个包
conda remove -n 环境名 包名
conda activate sgcell
conda install fastqc multiqc samtools sambamba
然后我们会悲剧的发现一个都安不上。。。
怎么回事呢?conda的仓库是分为很多的频道的,尤其是专业软件很多都不是在主要的频道里。
添加频道
conda config --append channels conda-forge
有兴趣的可以多试几个频道。频道在报错信息里面有。。。
不过看脸。。。
官网手动找包
https://anaconda.org
我们搜了一下,发现是放在了bioconda下面。这个时候可以添加一下频道。
或者点进去。
复制随便一个都可以。
总结
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。定义Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。最流行的 Python 环境管理工具。
conda现在就是环境管理工具,尤其是python和R的
注意有些场合不该用conda环境。
最好做到只在具体的业务上使用conda环境,并且注意备份。