美文网首页
anaconda3 | 安装

anaconda3 | 安装

作者: 生信师姐 | 来源:发表于2020-07-25 08:32 被阅读0次

一、简介

Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

  • 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
  • 适用平台:Windows, macOS, Linux

1. conda与anaconda的差别

conda:可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
Anaconda:是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

2. pip 与 conda 比较

1. 依赖项检查
▪ pip:
① 不一定会展示所需其他依赖包。
② 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
▪ conda:
① 列出所需其他依赖包。
② 安装包时自动安装其依赖项。
③ 可以便捷地在包的不同版本中自由切换。

2. 环境管理
▪ pip:维护多个环境难度较大。
▪ conda:比较方便地在不同环境之间进行切换,环境管理较为简单。

3. 对系统自带Python的影响
▪ pip:在系统自带Python中包的更新/回退版本/卸载将影响其他程序。
▪ conda:不会影响系统自带Python。

4. 适用语言
▪ pip:仅适用于Python。
▪ conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

注意:

  • pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。
  • pip无法更新python,因为pip并不将python视为包。
  • pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。

▪ conda结合了pip和virtualenv的功能。

二、下载

进入Anaconda的官网进行下载或学习。选择想下载的Python版本,这里我选择的是Python3.6。选择你的操作系统和位数,这里我们选的是Linux,然后点击Download按钮就开始下载了

Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。

安装时,会发现有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.5,两个版本其实除了这点区别外其他都一样。安装哪个版本并不本质,因为通过环境管理,我们可以很方便地切换运行时的Python版本。

$ wget https://repo.anaconda.com/archive/Anaconda3-5.1.0-Linux-x86_64.sh

然后赋权并执行安装程序:

$ chmod +x Anaconda3-5.1.0-Linux-x86_64.sh
$ ./Anaconda3-5.1.0-Linux-x86_64.sh

安装过程如下:

...

Do you accept the license terms? [yes|no]
>>> yes

Anaconda3 will now be installed into this location:
/home/py/anaconda3

- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below

[/home/py/anaconda3] >>> /anaconda/anaconda3      **输入自定义安装路径,如果用默认的话回车跳过**

然后将anaconda加入环境变量,并使其生效:

$ vi .bash_profile 

在最后一行加上如下配置:

export PATH=/anaconda/anaconda3/bin:$PATH

如果是默认安装路径的话则为:

export PATH=/home/py/anaconda3/bin:$PATH

然后使其生效:

$source .bash_profile

最后检测一下安装结果:

$ conda -V
which conda
conda --version

如果需要卸载anaconda的话,只需要删除anaconda目录即可:

$ rm -rf /anaconda/anaconda3

Linux卸载可以使用如下方式:

#1安装 Anaconda-Clean package  
conda install anaconda-clean

#2. 接着输入命令行进行卸载:
anaconda-clean --yes

#3.删除conda相关文件:
rm -rf ~/anaconda3
rm -rf ~/.anaconda_backup

更新conda

#1、更新conda到最新版本:
conda update -n base conda

#2、然后执行:
conda update --all

三、创建环境

Htslib 1.10 may cause conflicts with some of the already installed packages. In such a case, hypo can be installed in a new environment as follows:

有时候,将要下载的包可能会与一些已经安装的包发生冲突。在这种情况下,创建新环境,激活新环境,安装在新环境中:如hypo软件的安装。

conda create --name hypo_env
conda activate hypo_env  
conda install -c bioconda hypo

四、高级用法

1. 复制环境到新电脑或者用户(clone)

输出环境信息到文本

conda env export -n hicExplorer > environment.yml

依照文本信息重新生成一个同样环境

conda env create -f environment.yml

比如,依照文本信息重新生成 training环境

conda env create -n training -f environment.yml

2. root安装一次,多用户共享

参考(验证是正确的):http://www.dxulab.org/wiki/anacondaenvformulti-users

sudo su -
adduser anaconda
bash Anaconda3-2019.03-Linux-x86_64.sh -b -p /opt/anaconda
chown -R anaconda:anaconda /opt/anaconda
chmod -R go-w /opt/anaconda
chmod -R go+rX /opt/anaconda

# And then you can put  /opt/anaconda/bin in the PATH added in /etc/profiles.d/anaconda.sh (or wherever). A (very) nice thing about Anaconda is that it requires no environment variables to be set. Adding it to your PATH is just for convenience.

# You (as the sudo-empowered admin) can then go and create new environments for all users on the system:

sudo -u anaconda /opt/anaconda/bin/conda env create -n flye_test -c bioconda flye
sudo -u anaconda /opt/anaconda/bin/conda env create -n training -f environment.base.yml

# And then any user, say janesmith can go and use these:

source activate coolscience # will add /opt/anaconda/envs/coolscience/bin to PATH
# Additionally they can create their own envs:

conda create -n webdev django flask sqlalchemy pylons
# which will (should) be created in ~janesmith/.conda/envs/webdev.

# I have tested exactly 0% of the commands above, but they should point you in the right direction. Additionally, I must note, Conda is known to have “gotchas” that can come up when using it in a multi-user environment like this. A partial record of the challenges you may face are recorded in this issue:
  1. root安装一次,多用户共(无患子服务器),发现无需新增用户anaconda以及将文件归属anaconda,普通用户也能成功调用

sudo用户切换后,运行如下命令:

sudo -s
bash Anaconda3-2019.03-Linux-x86_64.sh -b -p /opt/anaconda

其中environment.flye.yml和environment.base.yml是在虚拟机中环境的导出文件

conda env export -n flye > environment.flye.yml
conda env export -n base > environment.base.yml

依照创建创建环境flye_test和training,

/opt/anaconda/bin/conda env create -n flye_test -f environment.flye.yml
/opt/anaconda/bin/conda env create -n training -f environment.base.yml

普通用户调用环境
方法1:

进入某个环境source /opt/anaconda/bin/activate flye_test
[junting_feng@localhost ~]$ /opt/anaconda/bin/conda info --envs
# conda environments:
#
base                  *  /opt/anaconda
flye_test                /opt/anaconda/envs/flye_test

[junting_feng@localhost ~]$ source /opt/anaconda/bin/activate flye_test
(flye_test) [junting_feng@localhost ~]$

退出当前环境source /opt/anaconda/bin/deactivate,忽略报错

(flye_test) [smrtanalysis@localhost ~]$ source /opt/anaconda/bin/deactivate
DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
[smrtanalysis@localhost ~]$

方法2:

执行/opt/anaconda/bin/conda activate flye_test遇到如下报错:
[zaohai_zeng@localhost ~]$ /opt/anaconda/bin/conda activate flye_test

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

按照提示运行 /opt/anaconda/bin/conda init命令,将conda写入.bashrc文件

(base) [zaohai_zeng@localhost ~]$ /opt/anaconda/bin/conda init
no change     /opt/anaconda/condabin/conda
no change     /opt/anaconda/bin/conda
no change     /opt/anaconda/bin/conda-env
no change     /opt/anaconda/bin/activate
no change     /opt/anaconda/bin/deactivate
no change     /opt/anaconda/etc/profile.d/conda.sh
no change     /opt/anaconda/etc/fish/conf.d/conda.fish
no change     /opt/anaconda/shell/condabin/Conda.psm1
no change     /opt/anaconda/shell/condabin/conda-hook.ps1
no change     /opt/anaconda/lib/python3.7/site-packages/xontrib/conda.xsh
no change     /opt/anaconda/etc/profile.d/conda.csh
modified      /home/zaohai_zeng/.bashrc
==> For changes to take effect, close and re-open your current shell. <==
  1. 退出,并重新登录

进入环境 conda activate flye_test

(base) [liuliu@localhost ~]$ conda activate flye_test
(hypo_env) [liuliu@localhost ~]$

退出环境 conda deactivate

(fhypo_env) [liuliu@localhost ~]$ conda deactivate
(base) [liuliu@localhost ~]$

相关文章

网友评论

      本文标题:anaconda3 | 安装

      本文链接:https://www.haomeiwen.com/subject/hsrwkktx.html