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 ~/src
cd ~/src
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,直接把位置输入然后回车即可:~/src/miniconda3
接下来软件会问:Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
回车即可。
此时显示:Thank you for installing Miniconda3!

测试安装是否成功

~/src/miniconda3/bin/conda 

3. 环境管理

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

以下介绍环境如何使用:

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

~/src/miniconda3/bin/conda create -n condaenv01 python=2.7 -y

3.2. 激活进入环境

source ~/src/miniconda3/bin/activate condaenv01

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

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

source ~/src/miniconda3/bin/deactivate condaenv01

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

source ~/src/miniconda3/bin/deactivate

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

echo "alias condaup='source ~/src/miniconda3/bin/activate'" >> ~/.bashrc
echo "alias condadown='source ~/src/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. 绝对路径调用

~/src/miniconda3/bin/R

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

6.2.添加环境变量

echo 'export PATH=$PATH: ~/src/miniconda3/bin' >> ~/.bashrc
source ~/.bashrc
conda

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

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

测试 R 和 multiqc 都是可以用的

7.卸载miniconda

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

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

export PATH=$PATH: ~/src/miniconda3/bin

第二步: 删除miniconda

rm -rf ~/src/miniconda3/

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容