linux下miniconda环境的配置以及软件的安装
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。定义Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。最流行的 Python 环境管理工具。conda现在就是环境管理工具,尤其是python和R的注意有些场合不该用conda环境。最好做到只在具体的业务上使用cond
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 环境管理工具。
[wangyq@cluster ~]$ conda activate sgcell
(sgcell) [wangyq@cluster ~]$ which python
/share/nas6/wangyq/biosoft/miniconda/envs/sgcell/bin/python
(sgcell) [wangyq@cluster ~]$ conda deactivate
[wangyq@cluster ~]$ which python
/share/nas6/wangyq/biosoft/miniconda/bin/python
我们会发现python的解释器是不一样的。
sgcell这个环境中的python就和外面的不一样。
conda现在就是环境管理工具,尤其是python和R的
注意有些场合不该用conda环境。
最好做到只在具体的业务上使用conda环境,并且注意备份。
补充:
conda的安装是会产生环境变量的污染的,聪明的人已经猜到了。
上面python为/share/nas6/wangyq/biosoft/miniconda/bin/python,但是我们原来安装conda之前如果就有
python呢?比如所有的用户共用的原始默认解释器是python2.0版本的?
这个时候就需要在eval后面重新声明path了。
更多推荐
所有评论(0)