Anacoda的安装和使用

2022-09-19 11:27:53 浏览数 (1)

一、什么是Anaconda

1.1 Conda介绍

在认识 Anaconda 之前,先认识一下conda,Conda是在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统。它可以快速安装、运行和更新软件包及其依赖项。那么既然都是用来安装包的,Conda和pip有啥区别呢?主要区别如下:

类别

conda

pip

包内容

二进制

wheel 或源码

需要编译器

no

yes

语言

any

Python

虚拟环境

支持

通过 virtualenv或venv等支持

依赖性检查

严格的依赖检查

不严格

包来源

Anaconda,包数量较少

PyPi,包数量多

其中最主要的区别在于,Conda支持虚拟环境(pip需要安装额外的库才能支持),依赖性的检查非常严格,但是conda可以安装的包比pip少,这是由于pip是Python社区官方指定的包安装方式,所以基本所有的包都会优先在PyPi发布。说明一下,PyPi是pip的仓库,当使用pip命令安装时,就会从Pypi中寻找所需的库下载,conda的库是Anaconda官方维护的一个库。可以看出,Conda的优点在于:支持虚拟环境、依赖性检查严格,这也是为什么机器学习一般使用Conda来管理包的原因。

举个例子,当你要安装TensorFlow的GPU版本时,除了库以外还需要安装CUDA、cuDNN等一些相关依赖项,但是这些依赖项和电脑硬件环境关系很大,并且新版本的cuDNN只能运行在高版本的驱动和CUDA上,这就导致按照网上的教程安装了驱动、CUDA,并用pip安装了TensorFlow,最后发现有很大的概率依然用不了,但是如果用conda安装TensorFlow,它会自动帮你安装好其他依赖项,做到真正的开箱即用

随着项目的增加,你会发现安装的库也越来越多,而不同库的不同版本对应着不同版本的依赖项,这就会导致依赖之间发生冲突。但是,如果你在一开始就可以很好的使用conda的虚拟环境,做好环境隔离,就不会发生这样的情况。

但是conda也有很大的局限性,因为它“太过于”适合数据科学了,导致它能安装的包大部分都和数据科学有关的库,所以pip在实际生产中也是不可或缺的。

1.2 Anaconda介绍

Anaconda是一个免费开源的Python和R语言的发行版本,用于计算科学(数据科学、机器学习、大数据处理和预测分析),Anaconda致力于简化包管理和部署。Anaconda的包使用软件包管理系统Conda进行管理。超过1200万人使用Anaconda发行版本,并且Anaconda拥有超过1400个适用于Windows、Linux和MacOS的数据科学软件包。

Anaconda(发音:阿娜康达),在英文中的意思是“蟒蛇”,其图标就像一个收尾相连的蟒蛇。上面介绍了conda,其实Anaconda就是在conda的基础上发展而来的。Anaconda的主要特点如下:

  1. 内置Python,高度基础Python的数据科学生态
  2. 拥有强大的包管理工具conda
  3. 可用超过600个Python数据科学库

此外,我觉得还有一个很方便的就是Anaconda拥有图形界面Anaconda Navigator,可用避开命令行用图形交互的方式完成环境和包的管理,对于初学者十分友好。同时,Anaconda中还内置了jupyter notebook,可用一键安装并启动使用。jupyter notebook也是机器学习的必备工具之一,你可以把它当做是一个markdown编辑器 IDE的混合体,可用直接在代码旁写出叙述性文档,而不是另外编写单独的文档,其界面如下图(随便找的网图)。

二、Anaconda的安装

2.1 下载安装包

直接进入官网下载链接:传送门,寻找适合自己的系统和版本安装即可,图中的Python 3.9表示下载的Anaconda内置的Python版本为3.9,其中Windows版本中分为64-bit和32-bit,可以鼠标选中“此电脑”右键属性中查看自己电脑对应的位数。

Windows系统位数查询方式:

在"此电脑"中鼠标右键选择属性,即可查到。

2.2 进行安装

安装包下载完成后直接打开一直点击下一步,到这个页面时选择是安装给当前用户还是所有的用户,主要是针对一台设备有多个用户的情况(比如服务器),对于个人电脑,选择哪个的区别不是很大。

下面到这个页面的时候,需要解释一下,有两个勾选框:

第一个选项的意思是是否将Anaconda3添加的PATH环境变量中,将其添加到PATH中的好处就是可以在cmd中使用 conda 命令。

系统PATH查看方法(可省略不看): 查看PATH的方法:“此电脑”右键选择属性-高级系统设置-右下角环境变量-选择path,如图所示:

其中,环境变量有两种,一种是系统变量一种是用户变量,区别在于其等级不同。如果你在上面勾选了“将Anaconda3添加到PATH的选项”,则可以看到用户path中一共添加了四个路径,其用处就在于使用cmd输入conda 命令后,计算机会查找PATH表,然后根据表中的路径可以运行相应的应用。

第二个选项的意思是是否将Anaconda3作为默认的Python3.9,之前介绍了,我们所安装的Anaconda内置了一个Python,而我们所下载的Anaconda自带Python3.9,其原理也是在PATH中将命令 python 指向Anaconda中的python,其作用是可以让你本地的IDE自动检测到Anaconda并作为首选的Python环境(不勾选就需要手动选择)。如果你的电脑已经安装了Python环境,且之前的很多项目都是依赖于之前所安装的Python环境,则如果勾选可能会导致原先的环境失效。

2.3 安装完成

安装完成后可以点开Windows开始页面中的全部应用,可以发现多了一个Anaconda(64-bit)的文件夹,里面有好多东西。

其中最主要的是Anaconda Navigator、 Anaconda Powershell prompt,Anaconda Navigator是Anaconda的图形化界面,你可以在里面管理包和虚拟环境等,Anaconda Powershell prompt相当于Anaconda的cmd命令行工具,如果你没有将Anaconda添加到PATH则需要使用这个来进行命令行操作。Anaconda Powershell prompt和它左边的Anaconda prompt区别在于Anaconda Powershell prompt除了支持 conda 相关命令外还支持Linux的命令。

三、Anaconda的使用

3.1 图形界面方式

3.1.1 主界面介绍

点击 Anaconda Navigator 进入Anaconda界面,其中罗列了很多应用,其中包括Anaconda的命令行工具(Prompt),还有 Jupyter Notebook 等有用的工具。

我们重点关注Environments菜单,1号框中显示的是当前存在的虚拟环境,base环境是Anaconda初始自带的基础环境。3号框可以搜索库的名称,然后在2号框可以筛选显示哪些库,然后4号框可以创建一个新的虚拟环境。

3.1.2 虚拟环境管理

点击上图四号框中的Create弹出下面的窗口,Name栏输入你想创建的虚拟环境的名字,然后选择Python的版本,即可完成创建。

然后点击该虚拟环境就可以管理这个虚拟环境,其中有个播放按钮可以选择将该环境在终端中打开,或者以Python的形式打开(自己尝试一下就知道了)。

注意点:

如果选择Python版本的框是灰色的无法点击,大概率是因为无法连接仓库,主要原因有两种:

  • 之前换过pip的国内源,现在大部分国内的源都无法访问了,导致无法连接
  • 挂了代理导致无法访问

对于第一种情况,可以在命令行工具中输入 conda config --remove-key channels 恢复官方源。

对于第二种情况,关闭代理即可。

  • 其他情况:无法获取仓库大概率是网络问题,可以用命令行尝试新建一个环境,然后观察报错,命令可以参考下文。

3.1.2 包管理

选择需要管理的虚拟环境,等待片刻,然后就可以对其中的包进行管理。首先在右边搜索栏中可以搜索包的名称,然后对包可以进行删除、更新、安装的操作。

3.2 命令行方式

代码语言:javascript复制
activate //切换到base环境

activate jonins_py36 //切换到jonins_py36环境

conda create -n jonins python=3 //创建一个名为jonins的环境并指定python版本为3的最新版本

conda env list //列出conda管理的所有环境

conda list //列出当前环境的所有包

conda install numpy //安装numpy包

conda remove numpy //卸载numpy包

conda remove -n jonins --all //删除jonins环境及下属所有包

conda update numpy //更新numpy包

conda env export > jonins.yaml //导出当前环境的包信息

conda env create -f jonins.yaml //用配置文件创建新的虚拟环境
    
conda info //查看conda的配置信息

国外repo下载可能很慢,可以换源:

代码语言:javascript复制
#显示目前conda的数据源有哪些
conda config --show channels
#添加数据源:例如, 添加清华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 config --remove-key channels

0 人点赞