2019-09-27 Linux 系统 miniconda 的安全安装使用

1.miniconda介绍

官网:https://docs.conda.io/en/latest/miniconda.html
conda 可以理解为一个工具,也是一个可执行命令,其核心功能是包管理环境管理。包管理与 pip 的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。支持 Linux, Mac, Windows系统。

1.1. conda的设计理念

conda将几乎所有的工具、第三方包都当做package对待,甚至包括 python 和 conda 自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。
最初是为了解决 Python 模块安装的依赖问题设计,然而发展到现在,conda 目前已经超越了其最初目的而存在,可以解决大多数软件的安装和配置,包括各种本身与python毫无关系的包。

1.2. Anaconda, Bioconda, Miniconda

Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
Bioconda专门收录了生物信息学软件的软件源。
Miniconda只包含最基本的内容——python与conda,以及相关的必须依赖项,相对来说,个人推崇安装Miniconda,轻巧方便足够使用了。

2.下载安装 Miniconda3

mkdir -p /molecular1/nieshuai/jianwen/software
cd /molecular1/nieshuai/jianwen/software
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh 
chmod 777 Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

#######################
安装时应对每一次提问:
第一次enter即可;
然后会出来一些安装说明,空格到最后会问:Do you accept the license terms? [yes|no],此时选yes;
接着会让选安装位置,选择安装位置,不要enter,直接把位置输入然后回车即可:/molecular1/nieshuai/jianwen/software/miniconda3
接下来软件会问:Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
回车即可。
此时显示:Thank you for installing Miniconda3!

测试安装是否成功

/molecular1/nieshuai/jianwen/software/miniconda3/bin/conda 

3. 环境管理

关于环境,有太多专业解释,不做重复,可以举个例子简单理解:
假设我们的服务器是一个大房子,每个用户是一个租房客拥有一个自己的房间,用户一般在自己的房间里活动。用户小A以前养金丝雀(源码或者yum,apt-get安装软件),不好养总养不活(安装失败);后来就想养两只哈士奇(相当于conda装两个软件,即包),特好养活。然而众所周知,房间里散养哈士奇(放任 conda 高权限装软件)是会拆家的,相当危险,有的时候把你电线(默认版本python)啃坏了,你之前能用的电冰箱(某个其它软件)就用不了了!因为把房间搞得实在糟糕你还找不到电线哪里坏了!怎么办?只能卖狗,然而房间是恢复不了了。
但是,如果一开始养哈士奇的时候,你就不要散养(不给conda高权限),而是一只装一个笼子(环境),喜欢啃沙发(python2)的放个沙发给它(python2),喜欢啃电线(python3)的笼子里放电线(python3)给它随便啃。你要问哈士奇把笼子啃坏了怎么办?没事,丢掉笼子(删除环境)换新的(新建环境)就行,反正你放笼子的房间是没问题的。
其实,如果你是普通用户,房间坏了换个房间就是了也没什么。但是!万一你要是root用户,呵呵,现在户型不好的二手房可不好卖。

以下介绍环境如何使用:

3.1. 创建新环境,python版本2.7,也可以直接覆盖原来叫condaenv01 的环境

/molecular1/nieshuai/jianwen/software/miniconda3/bin/conda create -n condaenv01 python=2.7 -y

3.2. 激活进入环境

source /molecular1/nieshuai/jianwen/software/miniconda3/bin/activate condaenv01

安装需要python2的软件就可以直接安装了,要求特别多的软件甚至可以专门建一个环境给它,反正环境多了没事。这一步至关重要,把包装到环境里,而不是直接装到默认环境下

3.3. 安装完毕就可以关闭当前环境了

source /molecular1/nieshuai/jianwen/software/miniconda3/bin/deactivate condaenv01

另外,如果你激活失败,说明你现在可能已经在默认环境里了,先关闭一下就行:

source /molecular1/nieshuai/jianwen/software/miniconda3/bin/deactivate

但是每次激活 conda 都要去绝对路径实在不实用美观,可以用 alias 添加到环境变量里

echo "alias condaup='source /molecular1/nieshuai/jianwen/software/miniconda3/bin/activate'" >> ~/.bashrc
echo "alias condadown='source /molecular1/nieshuai/jianwen/software/miniconda3/bin/deactivate'" >> ~/.bashrc
source ~/.bashrc
condaup condaenv01

condaup condaenv01 则直接激活环境 condaenv01

3.4. 还可以直接删除环境:

conda remove --n flowers --all

3.5. 列出conda创建所有的环境

conda info -e

3.6. 目前conda版本:

conda --version

3.7. 更新conda:

conda update conda

4. 频道 channels

有了channels,conda才知道去哪里搜索包并下载安装

4.1. 添加 channels,自己有好的镜像也可以添加

 conda config --add channels bioconda
 conda config --add channels anaconda
 conda config --add channels conda-forge
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
 conda config --set show_channel_urls yes

4.2.显示安装channles

conda config --set show_channel_urls yes 

4.3. 显示已经添加的channles

conda config --get channels 

4.4. 已添加的channel在哪里查看

vim ~/.condarc

5.安装软件

安装软件才是我们使用conda的终极目的,前面都是铺垫,为了不浪费铺垫,切记安装之前激活环境
condaup 激活默认的base环境

5.1. 搜索软件

conda search R

5.2.安装软件R,默认最新版本

conda install R

5.3.安装指定版本 3.5

conda install R=3.5

5.4.本地安装

到(https://anaconda.org/)或者(https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/)下载所需的包,如 https://conda.anaconda.org/pytorch/win-64/pytorch-1.2.0-py3.5_cuda100_cudnn7_1.tar.bz2
然后放到 miniconda3/pkgs 下
conda install --use-local pytorch-1.2.0-py3.5_cuda100_cudnn7_1.tar.bz2

PS: 国内服务器因为某些问题可能会碰到环境相关的问题,可加参数-c 即 -channel
channel 是conda查找包的位置,(source)具有相同名称的包可能存在于多个通道上,如果希望从默认通道以外的其他通道安装,则指定要使用哪个通道的一种方法是使用 conda install -c channel_name package_name语法
例如:conda install -c conda-forge R

5.5.已经安装的软件

conda list

5.6.更新软件

conda update R

5.7.卸载软件

conda remove R

安装完毕之后退出环境

condadown

6. 软件安装后的使用

6.1. 绝对路径调用

/molecular1/nieshuai/jianwen/software/miniconda3/bin/R

软件一般都会安装在这个位置 /molecular1/nieshuai/jianwen/software/miniconda3/bin,每次使用软件可以去此路径下寻找,这样绝对路径使用软件可以避免覆盖系统默认软件,我个人推崇这种笨办法,就是安全,别人用你的软件也能找到在哪,当然缺点是不便捷美观,所以可以直接添加环境变量。

6.2.添加环境变量

echo 'export PATH=$PATH: /molecular1/nieshuai/jianwen/software/miniconda3/bin' >> ~/.bashrc
source ~/.bashrc
conda

6.3.还有一个好办法是给安装的软件位置一个软连接,然后此软连接加到环境变量中

mkdir -p ~/.soft
ln -s /molecular1/nieshuai/jianwen/software/miniconda3/bin/R ~/.soft
ln -s /molecular1/nieshuai/jianwen/software/miniconda3/bin/multiqc  ~/.soft
echo 'export  PATH=$PATH:~/.soft' >> ~/.bashrc
source ~/.bashrc

测试 R 和 multiqc 都是可以用的

7.卸载miniconda

一般按照以上5步操作以后,你就能安全使用miniconda了,但是假如想要卸载的话,也相对容易许多。

第一步: 去掉 ~/.bashrc 环境变量配置

export PATH=$PATH: /molecular1/nieshuai/jianwen/software/miniconda3/bin

第二步: 删除miniconda

rm -rf /molecular1/nieshuai/jianwen/software/miniconda3/

第三步: 去掉相关隐藏文件

rm -rf   ~/.condarc  ~/.conda  ~/.continuum

参考学习了一篇优秀博文,很喜欢他做得东西,链接:conda的安装与使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容