Anaconda和Miniconda的使用

Anaconda和Miniconda的使用

1. 简介

在学习Python的时候,必然需要安装各种相关的库,这个时候强烈推荐使用Anaconda来管理虚拟环境和安装相关的库。

当初学习Python的时候,使用虚拟环境是挺麻烦的,后来了解到Anaconda,就试着使用它;
想当初我学Anaconda真的是懵,一个工具咋那么大,装上我还不会使用,那时候还不是特别懂Python的虚拟环境,使用Anaconda是一脸懵。。。

  • conda是一个开源包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 它适用于Linux,OS X和Windows,是为Python程序创建的,但可以打包和分发任何软件;

  • Anaconda:是一个开源的Python发行版本,包含了conda、python等180多个科学包及其依赖项。因为包含了大量的科学包,所以Anaconda的安装包比较大;

  • Miniconda:顾名思义,它只包含最基本的内容————python&conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

2. Anaconda

官网:https://www.anaconda.com/

Anaconda的英文解释是产于南美洲的水蟒,这个Python的大蟒蛇是一个物种不同品种。

Anaconda是一个开源的Python发行版本,支持 Linux, Mac, Windows,包含了Python核心、condaNumpyPandasmatplotlib等180多个科学包及其依赖项,这让你不再为了各种依赖关系的缺失,头疼无法成功安装某个库。因为包含了大量的科学包,Anaconda的下载文件也比较大(几百MB),如果只需要其中的某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和Python)。

2.1 安装

2.1.1 下载安装包

由于Anaconda是跨平台的,并且支持Python2.7和Python3.x,所以在官网的下载页面,有如下可选安装包:

下载链接:https://www.anaconda.com/distribution/

除了官网可以下载外,还可以在清华的镜像站点下载:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

清华站点还提供了conda安装包的镜像地址,只需要如下设置:

1
2
3
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes # 显示添加的源

2.1.2 Windows安装

  • 第一个选项决定是否将Anaconda加入系统路径环境变量里,这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令,建议选上。

  • 第二个选项决定是否将Anaconda版本的解释器作为系统的Python解释器。如果你在机器中还安装了别的比如官方版本的Python解释器,建议不要选择这项,否则容易冲突。

整个安装过程很简洁明了,没什么太多需要解释的

2.1.2 Linux安装

1
bash Anaconda3-4.3.1-Linux-x86.sh

3. 使用

3.1 添加源

1
2
3
4
5
6
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
(想要删除清华源把add改成remove就行。)

# 显示添加的源
conda config --set show_channel_urls yes

3.2 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 查看当前环境下已安装的包
conda list

# 列出所有环境
conda env list

# 查看某个指定环境的已安装包
conda list -n python34

# 查看所有安装的python环境
conda info -e

# 删除该环境
conda env remove -n test

# 查找package信息
conda search numpy

# 安装package
conda install -n python34 numpy
# 如果不用-n指定环境名称,则被安装在当前活跃环境
# 也可以通过-c指定通过某个channel安装

# 更新package
conda update -n python34 numpy

# 删除package
conda remove -n python34 numpy

# 直接将现有的anaconda中python更改为3.6.5
conda install python=3.6.5

3.3 更新

1
2
3
4
5
6
7
8
9
10
11
12
# 更新conda,保持conda最新
conda update conda

# 更新anaconda
conda update anaconda

# 更新所有软件包
conda upgrade --all

# 更新python
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本
conda update python

3.4 管理虚拟环境

1
2
3
4
5
6
7
8
9
10
# 创建虚拟环境
conda create -n python36 python=3.6.5

# 激活虚拟环境
Linux: conda activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)

# 退出虚拟环境
Linux: source deactivate
Windows: deactivate

3.5 导出导入环境

1
2
3
4
5
6
7
8
9
10
# 导出
> 当分享代码给别人的时候,同时也需要将运行环境分享,执行如下命令可以将当前环境下的package信息存入名为environment的YAML文件中。
conda env export --name env_name > environment.yaml
conda env export > env.yaml
conda-env export > env.yaml

# 导入
> 同样,当执行他人的代码时,也需要配置相应的环境。这时你可以用对方分享的YAML文件来创建一摸一样的运行环境。
conda env create -f env.yaml
conda-env create -f env.yaml

3.6 克隆/删除环境

1
2
3
4
5
# 克隆环境:
conda create --name $new_env_name --clone $old_env_name

# 删除环境:
conda remove --name $env_name --all