Anaconda 与 Conda 详解:安装、环境管理与包使用指南
Anaconda 是一个专注于数据分析的 Python 发行版本,集成了 conda 包管理器和大量科学计算库。本文介绍了 Anaconda 的安装步骤,详细讲解了如何配置国内镜像源以提升下载速度。内容涵盖虚拟环境的创建、激活、切换与管理,以及通过 conda 和 pip 两种方式安装第三方包的方法。此外,还提供了常用命令速查表,帮助用户解决 Python 环境冲突、依赖管理及多版本共存等问题,适合数据科学初学者快速上手。

Anaconda 是一个专注于数据分析的 Python 发行版本,集成了 conda 包管理器和大量科学计算库。本文介绍了 Anaconda 的安装步骤,详细讲解了如何配置国内镜像源以提升下载速度。内容涵盖虚拟环境的创建、激活、切换与管理,以及通过 conda 和 pip 两种方式安装第三方包的方法。此外,还提供了常用命令速查表,帮助用户解决 Python 环境冲突、依赖管理及多版本共存等问题,适合数据科学初学者快速上手。

Anaconda,中文大蟒蛇,是一个开源的专注于数据分析的 Python 发行版本,包含了 conda、Python 等 190 多个科学包及其依赖项。
Anaconda 可以便捷获取包且对包能够进行管理,包括了 python 和很多常见的软件库和一个包管理器 conda。常见的科学计算类的库都包含在里面了,使得安装比常规 python 安装要容易,同时对环境可以统一管理的发行版本。
首先我们需要先去了解 Anaconda 诞生的目的,再去了解 Anaconda 的使用方法。
我们需要从 python 本身说起,从根源寻找问题,我们在使用 python 语言编写程序之前需要下载一个 python 解释器,这才是 python 的本体,没了 python 解释器,我们即使写了无比正确优雅的 python 脚本也没办法运行,那这个解释器在哪呢?就在你安装 python 的地方。
所有的第三方包都放在 site-packages 文件夹里面。
最关键的,一个 python 环境中需要有一个解释器,和一个包集合。
解释器: 解释器根据 python 的版本大概分为 2 和 3。python2 和 3 之间无法互相兼容,也就是说用 python2 语法写出来的脚本不一定能在 python3 的解释器中运行。
包集合: 包集合中包含了自带的包和第三方包,第三方包我们一般通过 pip 或者 easy_install 来下载,当一个 python 环境中不包含这个包,那么引用了这个包的程序不能在该 python 环境中运行。
python 环境解释完了,那么接下来就要说明这样的环境究竟产生哪些问题,因为 anaconda 正式为了解决这些问题而诞生的。
- 到底该装 Python2 呢还是 Python3
python2 和 python3 在语法上是不兼容的,那我的机器上应该装 python2 还是 python3 呢,可能一开始选一个学习就好了,但是如果你要开发的程序必须使用 python2 而不能使用 python3,那这时候你就不得不再下载一个 python2,那这时候环境变量该设谁的目录呢,如果还是切换环境变量岂不是很麻烦。
虽然目前 Python3 使用的范围更广,但是 Python3 小版本之前也存在一些差异。
- 包管理
如果我在本地只有一个 python 环境那我所有程序用到的各种包都只能放到同一个环境中,导致环境混乱。另外当我将写好的程序放到另一电脑上运行时又会遇到缺少相关包,需要自己手动一个个下载的情况实在是烦人。要是能每个程序开发都选用不同的环境,而开发好之后又能将该程序需要的环境 (第三方包) 都独立打包出来就好了。
- 与 virtualenv 的对比
anaconda
是一个包含 180+ 的科学包及其依赖项的发行版本。可以创建一个独立的 Python 环境,其包含的科学包包括:conda, numpy, scipy, ipython notebook 等。
virtualenv
用于创建一个独立的 Python 环境的工具,新环境中需要手动安装需要的第三方包。
Anaconda 对于 python 初学者而言极其友好,相比单独安装 python 主程序,选择 Anaconda 可以帮助省去很多麻烦,Anaconda 里添加了许多常用的功能包,如果单独安装 python,这些功能包则需要一条一条自行安装,在 Anaconda 中则不需要考虑这些,同时 Anaconda 还附带捆绑了两个非常好用的交互式代码编辑器(Spyder、Jupyter notebook)。
这样说会觉得有点抽象,那我们先用一个简单的例子讲解。
在 python 中,我们写程序的时候经常离不开第三方库,我们可以称之为包。包可以理解成一个工具,我们要通过这个工具去实现我们所需要的功能。怎样使用这个工具呢?毫无疑问,我们都是 import…,import…
但是,import 初始只能导入 python 自带的库,第三方库需要我们自己通过 cmd 去 pip install 这个,pip install 那个安装,极其麻烦,因为很多库都是 python 不自带的,我们都是要通过 pip 额外安装。
这个时候 Anaconda 的作用就出来了,Anaconda 自带了很多 python 库,不用我们自己去额外安装,极少数我们需要安装的时候,我们通过 conda install xxx 就好了,极其方便!
conda 是一个包管理器,环境管理器。我们可以通过命令行(Anaconda prompt 或者终端)来使用它。在 Windows 中是 Anaconda prompt,在 Linux 和 macOS 中是终端。conda 是一个 python 项目,但是它支持的许多语言,例如: Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN。
上面说到,如果我们不安装 Anaconda 的话,我们安装第三方库就必须要用 pip install xxx 去安装,当我们安装的库多了,就会形成文件紊乱和繁杂问题。而且 pip install 方法会默认把库安装在同一个路径中,假如当你去做项目时,别人给你的程序用的库是低版本的,而你自己通过 pip 安装的是高版本的库,由于存在兼容问题,你的库不能运行该程序,而你也不可能为了这个而删去你的高版本的库去下载这个符合环境的低版本库吧,所以这极其繁琐和不方便。
这时 Anaconda 的作用就出来了!!!它能够创建一个虚拟环境,这个虚拟环境和你的主环境是分开的,就好像宿舍楼一样,一栋大宿舍楼有很多宿舍房间组成,每个房间都住着人,但是他们都是独立分开的,互不影响。如果你不想住宿,你随时可以退宿。也就是说,如果你创建的虚拟环境你不想要了,占内存了,你随时可以移走删除。
那么怎么通过 Anaconda 创建虚拟环境呢?就是 conda 方法!!!
总的来说,在 Anaconda 中 conda 可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用 conda 命令。
依赖项检查
pip:不一定会展示所需其他依赖包 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误
conda:列出所需其他依赖包 安装包时自动安装其依赖项 可以便捷地在包的不同版本中自由切换
环境管理
pip:维护多个环境难度较大
conda:比较方便地在不同环境之间进行切换,环境管理较为简单
对系统自带 Python 的影响
pip:在系统自带 Python 中包的更新/回退版本/卸载将影响其他程序
conda:不会影响系统自带 Python
适用语言
pip:仅适用于 Python
conda:适用于 Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN
conda 结合了 pip 和 virtualenv 的功能
Windows 下的 Anaconda3 安装包可以在官网获取。下载好后,打开安装一直点击下一步就好,注意安装目录,看自己的情况配置。(以 2020 版本安装例程为例)
安装好后,我们可以在任务栏看到 Anaconda3 文件夹。
这一步非常重要!因为 Anaconda 的下载源默认在国外,如果不配置我们国内源的话,下载速度会慢到你怀疑人生的。而且很多时候会导致网络错误而下载失败。配置方法如下:
打开 Anaconda Prompt,执行以下命令,将清华镜像配置添加到 Anaconda 中:
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
然后我们输入 conda info 命令查看当前的 channel,查看是否配置成功:
conda info
镜像源添加完成!
我们创建一个虚拟环境,然后在这个环境中配置各种各样的包,就可以在这个环境中运行目标程序的运行。
使用如下命令创建环境:
conda create -n 环境名 -y
也可以指定 python 版本:
conda create -n 环境名 python=x.x.x -y
python 版本我们可以通过以下命令获取:
python --version
我这里事先已经创建好了 mindvision 环境。
安装好后,我们查看 conda 的所有环境,输入以下命令(二选一):
conda info --envs
conda env list
在弹出来的框中,我们看到 mindvision 环境创建成功。
创建好环境后,我们要激活才能使用。执行以下命令(三选一):
conda activate 环境名 # linux 或者 windows
activate 环境名 # windows
source activate 环境名 #linux
由此可以看到,我们的环境从 base 变成了 mindvision,这样我们就从 base 宿舍到了 mindvision 宿舍啦。
既然有了宿舍,我们就要住人进去啊,也就是我们要在 mindvision 下载我们所需要的工具包让我们使用。
执行以下命令,我们就可以下载工具包。(选择其中一种方式即可):
# 在当前环境中安装包
conda install 包名称
# 指定版本号
conda install 包名称=version
# 在指定环境中安装包
conda install -n 环境名 包名称
pip install 包名称 -i https://pypi.tuna.tsinghua.edu.cn/simple #清华镜像
pip install 包名称 -i https://pypi.douban.com/simple #豆瓣镜像
说明:当使用 conda install 无法安装时,可尝试使用 pip 安装,反之亦然。
注意:
1、pip 只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用 pip 进行安装包,则需要先切换到指定环境中,再使用 pip 命令安装包
2、pip 无法更新 python,因为 pip 并不将 python 视为包
说明:当使用 conda install 无法进行安装时,可以考虑从 Anaconda.org 中获取安装包的命令,并进行安装。
http://anaconda.org(无需注册)复制"To install this package with conda run:"下方的命令,并粘贴在终端中执行。
我这里下载的是 mindspore,执行命令 conda install mindspore。因为我已经下载好了,这里我就不演示了。
注:在此环境安装的包,退出这个环境后是无法使用的!
然后我们可以查看一下环境现有的包(二选一):
conda list
pip list
执行好后,我们可以看到有非常多的包,同时我们之前装的 mindspore 也出现在这里了。
安装好 mindspore 后,我们测试一下该环境是否能够使用,首先我们要处于 mindvision 环境中,然后进入 python 环境,最后 import mindspore,发现没有报错,成功导了 mindspore 包。安装成功!
使用以下命令,可以退出当前环境
conda deactivate # windows
source deactivate 环境名 # linux
注意,如果你之前用过 conda activate xxx 多次进入不同的环境操作之后,然后使用 conda deactivate 是返回上一层的环境。
使用以下命令,可以删除指定环境(谨慎操作)
conda remove -n 环境名 --all -y
使用以下命令,可以删除当前环境的包
conda remove 包名称
使用以下命令,卸载指定环境中的包
conda remove -n 环境名 包名称
以上的-n 均可用–name 代替
除了以上操作,我还列举了其它常用的操作总结:
| 获取 conda 版本 | conda --version |
|---|---|
| 更新当前 conda 版本 | conda update conda -y |
| 更新包版本 | conda update 包名称 -y |
| 更新所有包 | conda update --all 或 conda upgrade --all |
| 复制环境 | conda create -n 新环境名 --clone 旧环境名 |
| 查找可供安装的包版本 | 精确查找:conda search --精确查找的参数 被查找包的全名 |
| 查找可供安装的包版本 | 模糊查找:conda search 含有此字段名的包名 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online