还不知道Anaconda是什么?读这一篇文章就够了

Python
298
0
0
2023-03-24
目录
  • 1 Anaconda介绍
  • 概述
  • 特点
  • 2 conda介绍
  • 3 安装Anaconda
  • 4 Anaconda的使用
  • 配置Anaconda源
  • 5 创建虚拟环境并使用
  • 5.1 创建虚拟环境
  • 5.2 查看所有环境
  • 5.3 激活环境
  • 5.4 安装包
  • 5.4.1 conda方式
  • 5.4.2 pip方式
  • 5.4.3 从Anaconda.org安装包
  • 5.5 查看该环境的所有包
  • 5.6 测试是否安装成功
  • 6 退出当前环境
  • 7 删除环境/包
  • 总结

1 Anaconda介绍

概述

Anaconda,中文大蟒蛇,是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。

Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易,同时对环境可以统一管理的发行版本

特点

  • 开源
  • 安装过程简单
  • 高性能使用Python和R语言
  • 免费的社区支持
首先我们需要先去了解Anaconda诞生的目的,再去了解Anaconda的使用方法

我们需要从python本身说起,从根源寻找问题,我们在使用python语言编写程序之前需要下载一个python解释器,这才是python的本体,没了python解释器,我们即使写了无比正确优雅的python脚本也没办法运行,那这个解释器在哪呢?就在你安装python的地方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7mF3njHg-1651904825594)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507131434480.png)]

所有的第三方包都放在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?

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就好了,及其方便!

2 conda介绍

conda是一个包管理器,环境管理器。我们可以通过命令行(Anaconda prompt 或者终端)来使用它。在Windows中是Anaconda prompt,在Linux和macOS中是终端。conda 是一个python项目,但是它支持的许多语言,例如: Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN。

为什么要使用conda?

上面说到,如果我们不安装Anaconda的话,我们安装第三方库就必须要用pip install xxx去安装,当我们安装的库多了,就会形成文件紊乱和繁杂问题。而且pip install方法会默认把库安装在同一个路径中,假如当你去做项目时,别人给你的程序用的库是低版本的,而你自己通过pip安装的是高版本的库,由于存在兼容问题,你的库不能运行该程序,而你也不可能为了这个而删去你的高版本的库去下载这个符合环境的低版本库吧,所以这及其繁琐和不方便。

这时Anaconda的作用就出来了!!!它能够创建一个虚拟环境,这个虚拟环境和你的主环境是分开的,就好像宿舍楼一样,一栋大宿舍楼有很多宿舍房间组成,每个房间都住着人,但是他们都是独立分开的,互不影响。如果你不想住宿,你随时可以退宿。也就是说,如果你创建的虚拟环境你不想要了,占内存了,你随时可以移走删除。

那么怎么通过Anaconda创建虚拟环境呢?就是conda方法!!!

总的来说,在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。

pip与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的功能

3 安装Anaconda

我这里准备好了Windows下的Anaconda3-2021的安装包,有需要的可以下载获取

https://www.jb51.net/softs/684715.html

下载好后,打开安装一直点击下一步就好,注意安装目录,看自己吧。我这里给出了图片流程。(2020版本安装例程)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KDfLgvXn-1651904825596)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132317697.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Fg0k1H6-1651904825596)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132334105.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZ5ksKDP-1651904825597)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132348657.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uX5e1BMn-1651904825597)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132358929.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxDwNSwR-1651904825597)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132413985.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NMX4PQQy-1651904825598)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132420442.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rGjm9w5S-1651904825598)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132424322.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oeo5SYtM-1651904825599)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132434070.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GeMHKG1a-1651904825599)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507132441016.png)]

安装好后,我们可以在任务栏看到Anaconda3文件夹:

4 Anaconda的使用

配置Anaconda源

这一步非常重要!因为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

镜像源添加完成!

5 创建虚拟环境并使用

5.1 创建虚拟环境

我们创建一个虚拟环境,然后在这个环境中配置各种各样的包,就可以在这个环境中运行目标程序的运行。

使用如下命令创建环境:

conda create -n 环境名 -y

也可以指定python版本:

conda create -n 环境名 python=x.x.x -y

python版本我们可以通过以下命令获取:

python --version

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5E5YmVc6-1651904825600)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507110118106.png)]

我这里事先已经创建好了mindvision环境。

5.2 查看所有环境

安装好后,我们查看conda的所有环境,输入以下命令(二选一):

conda info --envs
conda env list

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aElb7tmM-1651904825601)(D:/Desktop/%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507012631364.png)]

在弹出来的框中,我们看到mindvision环境创建成功。

5.3 激活环境

创建好环境后,我们要激活才能使用。执行以下命令(三选一):

conda activate 环境名 # linux或者windows
activate 环境名# windows
source activate 环境名 #linux

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7gUcCzFR-1651904825601)(D:/Desktop/%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507013142468.png)]

由此可以看到,我们的环境从base变成了mindvision,这样我们就从base宿舍到了mindvision宿舍啦。

既然有了宿舍,我们就要住人进去啊,也就是我们要在mindvision下载我们所需要的工具包让我们使用。

5.4 安装包

执行以下命令,我们就可以下载工具包。(选择其中一种方式即可):

5.4.1 conda方式

# 在当前环境中安装包
conda install 包名称
# 指定版本号
conda install 包名称=version
# 在指定环境中安装包
conda install -n 环境名 包名称

5.4.2 pip方式

pip install 包名称 -i https://pypi.tuna.tsinghua.edu.cn/simple #清华镜像
pip install 包名称 -i https://pypi.douban.com/simple #豆瓣镜像

说明:当使用conda insatll无法安装时,可尝试使用pip安装,反之亦然。

注意:

1、pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包

2、pip无法更新python,因为pip并不将python视为包

5.4.3 从Anaconda.org安装包

说明:当使用conda install无法进行安装时,可以考虑从Anaconda.org中获取安装包的命令,并进行安装。

浏览器中输入http://anaconda.org(无需注册)

复制“To install this package with conda run:”下方的命令,并粘贴在终端中执行

我这里下载的是mindspore,执行命令conda install mindspore。因为我已经下载好了,这里我就不演示了。

注:在此环境安装的包,退出这个环境后是无法使用的!

5.5 查看该环境的所有包

然后我们可以查看一下环境现有的包(二选一):

conda list
pip list

执行好后,我们可以看到有非常多的包,同时我们之前装的mindspore也出现在这里了。

5.6 测试是否安装成功

安装好mindspore后,我们测试一下该环境是否能够使用,首先我们要处于mindvision环境中,然后进入python环境,最后import mindspore,发现没有报错,成功导了mindspore包。安装成功!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gc1os3z7-1651904825604)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507104751854.png)]

6 退出当前环境

使用以下命令,可以退出当前环境

conda deactivate # windows
source deactivate 环境名 # linux

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9PMjYwSl-1651904825605)(%E5%A4%A7%E5%AD%A6/MSB/AIoT/python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E5%88%9D%E7%BA%A7%EF%BC%88%E4%B8%80%EF%BC%89/%E4%BB%A3%E7%A0%81/image-20220507110907403.png)]

注意,如果你之前用过conda activate xxx多次进入不同的环境操作之后,然后使用conda deactivate是返回上一层的环境。

7 删除环境/包

使用以下命令,可以删除指定环境(谨慎操作)

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 含有此字段名的包名