记录Anaconda/Miniconda安装过程

Conda简介

  Conda是在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统。可以快速安装、运行和更新软件包及其依赖项。可以轻松地在本地计算机上的环境中创建,保存,加载和切换。它是为Python程序创建的,但可以打包和分发适用于任何语言的软件。
  目前conda的发行版本分为anaconda、miniconda两种,安装了ananconda或miniconda的完整版,就默认安装了conda。anaconda会包含一些常用包的版本,miniconda则是精简版,两者安装均可。

Conda作用

  conda是一个辅助工具,由于其自带python版本,可主要用来进行python包管理、环境管理,在功能上可以看作是pip 和 vitualenv 的组合,同时也可以对常用的生信软件进行安装、卸载。
  比如,创建不同的环境work、test,你可以方便在不同集群环境中安装、卸载、升级、降级、不同的软件版本。例如把python3 + python2、R2.7 + R3.8分别安装在work、test虚拟环境下,这样你就可以在集群中使用不同版本的软件,即使它们两者之间无法同时存在、或相互冲突。

Miniconda安装

下载

  在国内从官网上下载安装包会比较慢,下载最新版容易,过往版本不易寻找。生信软件一般建议使用过往的稳定版本,尤其是公司集群的系统版本低,很容易版本不匹配。推荐从清华大学的源下载。

 ## anaconda的官网地址  
     https://www.anaconda.com/products/individual
 ## 清华源anaconda、 miniconda 的过往版本       
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
     https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
 ## 选择适合自己的版本后,用wget下载
     wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.9.2-Linux-x86_64.sh
     ##  如果网站证书已过期,需要增加参数--no-check-certificate下载
     wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.9.2-Linux-x86_64.sh --no-check-certificate

安装

  按照如下命令执行,安装软件。

    ## 下载的
    chmod 755  sh Miniconda3-py38_4.9.2-Linux-x86_64.sh
    sh Miniconda3-py38_4.9.2-Linux-x86_64.sh

  不能像其他软件安装一样,一路yes,有几个地方需要注意。
  1. 接受软件安装条款
软件安装许可证
   2. 指定软件安装目录
  指定在Software目录下安装该软件,会自动生成Software/Miniconda文件夹,软件内容在此目录下。注意,安装前不能存在"Miniconda"文件夹,否则会报错’directory xxx already exists’,切记。
软件安装目录

  3.拒绝把conda加入环境变量
  不将conda加入.bashrc 不会影响 后续的使用,后续决定权在你且问题可控。
  如果每个人都默认加入,每次登陆时会默认激活conda的base环境,这会导致集群登录很卡。
  如果之前有安装过conda,且将大量的软件直接安装在conda的base环境 或者 账号是公用账号,可能会把你原来设置好的环境改变,影响部分软件、脚本的正常运行,得不偿失。
是否加入环境变量

启动conda

  激活conda,进入自带的base基础环境

	## 激活conda,进入base环境  
   		source activate
    	## 如果无法执行,可以考虑修改Miniconda/bin/activate的权限为755
	## 查看conda的安装路径
		which conda
	## 推出base环境
	   conda deactivate

激活conda
 

Miniconda常用配置

配置channels

  conda默认的配置文件为~/.condarc,而我们常用的设置为修改channels设置,可以大幅加快下载软件、包的速度。借用参考资料中作者的说法,安装conda就相当于买了一台电视机,但是有电视了不意味着你就能看节目了,你要手动添加频道才能看你想看的电视节目。不同的频道速度非常不同,官方的频道相较而言速度较慢,使用国内的镜像会比较快。因为官方、镜像的频道相同,所以保留一个就行。
  示例如图:
condarc设置内容
 
常用的修改配置命令有:

	## 查看所有配置信息
		conda config --show --json
	## 查看目前镜像channel的情况
	  conda config --show channels # 目前已有的channels
	  conda config --show-sources  # 展示.condarc的内容
	  conda config --get channels  # 展示软件源之间的优先级,越下面(刚添加的)优先级越高,意思是当两个软件源都有一个相同的包(package)的时候,conda会选择优先级更高的软件源,并从中下载安装你所要的包。
	## 增加频道
	    conda config --add channels defaults # 增加使用默认的源
		conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda # 增加使用北京外国语的源
	## 删除频道
		conda config --remove channels defaults
		conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda
	## 设置搜索时显示通道地址
		conda config --set show_channel_urls yes # 在输入下载命令后,conda会为我们选择一个源,并从中下载我们要的那个包。这个源可能是我们添加中的某一个,也可能系统默认的那些。我们希望在下载的时候,conda告诉我们当前下载是在用哪一个。
	## 配置安装软件时不要提示输入yes
		conda config --set always_yes true

国内比较重要的镜像网站:

        清华大学: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
		北京外国语大学: https://mirrors.bfsu.edu.cn/help/anaconda/
		上海交通大学: https://mirror.sjtu.edu.cn/

 (1)清华大学
    https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

 (2)北京外国语大学
    https://mirrors.bfsu.edu.cn/help/anaconda/

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
  msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
  bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
  menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
  pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.bfsu.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud

	## 生信添加以下5个频道足够了
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
  - https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda

 

安装mamba软件

  conda是个安装软件的神器,但镜像不稳定,下载安装软件的速度有时很慢。对于几十Mb甚至上百Mb的软件往往下不动,下了半天可能失败。mamba可以用来并行下载和安装,大大提高conda的下载速度,减少安装失败几率。
mamba简介
  activate激活base环境后,运行:

     ## mamba主页
     	https://anaconda.org/conda-forge/mamba
     ## 使用conda安装mamba
        conda install -c conda-forge mamba # 多数安装失败可通过换时间重装解决;

  如果持续无法成功安装,可以考虑使用micromamba来代替。 它比mamba要小,网络不稳定的情况下,会更容易下载成功。mamba info、micromamba info可看出两者 user config files 、 base environment的配置类型有差别,如果无法正常安装,可酌情更改。

 

Miniconda使用

  anaconda使用文档
  如果已经安装了mamba,理论上下面所有的conda均可替换成mamba,但实际上还是仅conda install替换成mamba install,其余的命令不变。

conda管理

1) conda -V: 查看conda版本
2) conda list:查看当前环境下安装了哪些包
2) conda env list 或 conda info --envs: 查看有哪些conda虚拟环境
3) conda update conda: 检查更新当前conda版本
4) conda config --show channels: 查看channels信息

conda管理虚拟环境

  base环境可以正常使用,安装生信软件、给自带的python版本安装需要的包等,但这样很容易导致后续的管理混乱,软件冲突,也没有真正利用好conda的特性(对虚拟环境的管理 )。
  可根据自身需要建立若干个虚拟环境,以照顾不同的软件版本共存或解决软件冲突,如给某软件创建一个单独的环境。

1.激活base环境
	source activate

2.切换到其他虚拟环境
	conda activate my_env

3.关闭当前虚拟环境
	source deactivate # 即从当前环境退出返回,使用(.bashrc)PATH环境中的默认的python版本

4.在base环境下, 创建新虚拟环境
	conda create -n my_env python=x.x # conda命令创建python版本为x.x,名字为my_env的虚拟环境。my_env文件可以在Anaconda安装目录envs文件下找到。
    eg: conda create -n work python=3.8 # 安装一个名为work的虚拟环境,虚拟环境使用的python版本是3.8。
    	conda create -n work python=3 # 安装一个名为work的虚拟环境,虚拟环境使用的python版本为最新的正式版。
		conda create -n test python=2.7
		conda create --name bunnies python=3.5 astroid babel # 创建名为bunnies,使用python 3.5版本的环境,并安装astroid和babel包

5. 在base环境下,复制work 环境到test 环境
	conda create --name work --clone test

6. 在base环境下,删除某个虚拟环境
	conda remove -n my_env(虚拟环境名称) --all # 删除my_env环境及下属所有包
	conda remove --name my_env package_name # 删除my_env环境中的某个包

7.导出虚拟环境的所有配置信息
	conda env export > environment.yaml   # 进入某个环境,导出yaml格式的文件,该文件记录了环境名,软件源地址以及安装包列表
	conda env create -f environment.yaml  # 在新集群中使用yaml配置文件创建新虚拟环境

conda管理python版本

  conda把python看作和其他包一样,可以在创建虚拟环境的时候指定

	## 查看频道下可用的python版本
		conda search --full-name python
	## 安装不同版本的python
		conda create --name work python=3.4

conda管理packages

  conda默认从https://repo.continuum.io/pkgs/下载安装包,当无法找到需要的安装包时,可以通过Anaconda.org安装包, 在http://anaconda.org可以搜索可用的包并在包详情页面获取下载命令。

	## 查看当前环境下的已经安装的包
		conda list
	## 查看频道下可用的某包
		conda search openpyxl
	## 安装包到环境work,不加--name时,默认安装到当前环境
		conda install --name work openpyxl
	## 安装包指定镜像源加速下载(**)
		conda install -c https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge micromamba
	## 安装包requests , 默认路径下载很慢,此时可指定下载命令
		conda install --name work -c conda-forge requests 
	## 检查安装结果
		conda list
	## 更新requests 包
		conda update requests 
	## 卸载requests 包
		conda remove requests
		conda remove --name work requests # 删除work环境中的requests包

pip的价值

  当无法使用conda安装,也无法从http://anaconda.org下载到需要的安装包时,可以通过pip命令安装。

1. 激活base,切换到软件要安装的虚拟环境work下
2. 确认pip路径
	which pip  # 确认pip的路径是否为Miniconda/envs/work/bin/pip
3. 安装指定包
	pip install pymysql ## 如遇到报错,可尝试使用python3 -m pip install
4. 查看包
	conda list

创建软件的软链接

  退出conda环境之后之前安装的软件,无法用which找到,默认不使用,除非指定软件的绝对路径。 需要把conda安装的路径与环境变量联系在一起,方便调用。
  第一种方法:把各虚拟环境下的bin路径(软件在此路径下)增加到环境变量/home/XX/.bashrc中
环境变量1
第二种方法:把安装好的软件全部软连接到一个处在环境变量里的位置

	mkdir summary_software # 建立软件汇总文件夹
	ln -s */Software/Miniconda/envs/work/bin/samtools ./ #软连接已安装软件
	vim ~/.bashrc # 添加路径到自己的环境变量中
	source ~/.bashrc # 初始化自己的环境变量

环境变量2

conda环境迁移

# 导出 environment.yml 文件:
    conda env export > environment.yml
# 重现环境:
     conda env create -f environment.yml

 

Miniconda卸载

1、修改配置文件
  视配置文件在/etc/profile还是~/.bashrc决定。

	## 删除语句,或者注释语句
		export PATH=path/anaconda3/bin:$PATH

2、删除Miniconda安装文件夹

	rm -rf path/Miniconda

3、重启配置文件

	source  ~/.bashrc 或者 source /etc/profile

参考资料:

conda的安装与使用
Conda简介
conda如何添加,删除镜像channel,以及其他常见使用方法
极速安装软件的升级版 conda
anaconda 如何创建虚拟环境
Linux卸载Anaconda

过程中遇到的问题

1、Anaconda使用conda activate激活环境出错
在这里插入图片描述
问题描述:使用conda activate无法切换指定虚拟环境;
出现原因:从base环境下才能切换到指定虚拟环境;
解决方法:source activate先激活base环境,再切换到指定虚拟环境;

2、conda安装时报错,HTTP连接超时
在这里插入图片描述
问题描述:使用conda安装软件、包时报错,提示无法连接要下载的url路径;
出现原因:镜像源访问速度过慢,会导致连接超时,从而导致更新和下载失败。
解决方法:网络不文档引起的,不同时间段反复执行命令,或者重新安装anaconda;

失败方法:
(1)~/condarc中channels的https改成http(无效)
在这里插入图片描述
  简单来说,HTTP 页面响应速度比HTTPS 快,两者主要区别如下:
  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
  参考文件:https://blog.csdn.net/xionghuixionghui/article/details/68569282
       https://www.cnblogs.com/TTyb/p/12751976.html

(2)使用不太繁忙的conda镜像(无效)
从清华转成北京外国语大学也是无效
在这里插入图片描述
(3)重装anaconda
1、卸载anaconda安装路径、.bashrc等配置文件
2、重装anaconda(成功)
在这里插入图片描述
在这里插入图片描述

3、conda创建虚拟环境时出现的CondaVerificationError问题
在这里插入图片描述
问题描述:虚拟环境无法成功创建
出现原因:上次conda创建该虚拟环境时并未执行完,被意外终止,导致pkgs目录下部分软件包的有问题。
解决方法:删除给出错误提示的有问题文件,删除创建失败的虚拟环境。再次重新创建虚拟环境。
参考文件:https://blog.csdn.net/qq_35240640/article/details/114039835

4、集群gcc版本太低
在这里插入图片描述
问题描述:集群上的GCC版本太低,无法正常运行conda
出现原因:GCC版本太低,需要升级
解决方法:(1)如参考文件所说寻找合适gcc包,用conda安装;(2)寻找老版本、文档的Miniconda重装,有一定概率解决该问题。
参考文件:https://www.zhihu.com/question/56272908/answers/updated
     https://blog.csdn.net/weixin_40546602/article/details/105475416

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐