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

这篇具有很好参考价值的文章主要介绍了还是搞不懂Anaconda是什么?读这一篇文章就够了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 Anaconda介绍

  • 概述

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

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

  • 特点

    • 开源

    • 安装过程简单

    • 高性能使用Python和R语言

    • 免费的社区支持

首先我们需要先去了解Anaconda诞生的目的,再去了解Anaconda的使用方法

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

anaconda,python,python,学习

所有的第三方包都放在site-packages文件夹里面

anaconda,python,python,学习

最关键的,一个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://pan.baidu.com/s/13oW2IRUkJ4Of2gSELOXDRA
提取码:rwi1

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

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

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

anaconda,python,python,学习

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

anaconda,python,python,学习

镜像源添加完成!

5 创建虚拟环境并使用

5.1 创建虚拟环境

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

使用如下命令创建环境:

conda create -n 环境名 -y

也可以指定python版本:

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

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

python --version

anaconda,python,python,学习

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

5.2 查看所有环境

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

conda info --envs
conda env list

anaconda,python,python,学习

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

5.3 激活环境

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

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

anaconda,python,python,学习

由此可以看到,我们的环境从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(无需注册)

anaconda,python,python,学习

anaconda,python,python,学习

anaconda,python,python,学习

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

anaconda,python,python,学习

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

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

5.5 查看该环境的所有包

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

conda list
pip list

anaconda,python,python,学习

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

5.6 测试是否安装成功

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

anaconda,python,python,学习

6 退出当前环境

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

conda deactivate # windows
source deactivate 环境名 # linux

anaconda,python,python,学习

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

7 删除环境/包

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

conda remove -n 环境名 --all -y

使用以下命令,可以删除当前环境的包

conda remove 包名称

使用以下命令,卸载指定环境中的包

conda remove -n 环境名 包名称

以上的-n均可用–name代替

除了以上操作,我还列举了其它常用的操作总结:文章来源地址https://www.toymoban.com/news/detail-778136.html

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

到了这里,关于还是搞不懂Anaconda是什么?读这一篇文章就够了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【单片机概念基础】迟迟搞不懂预分频系数、PWM占空比等等概念和计算怎么办?

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在学习单片机的过程中,预分频系数和PWM(脉冲宽度调制)占空比是两个常见但容易令人困惑的概念。预分频系数涉及定时器的时钟频率控制,而PWM占空比则关系到输出波形的高低电平时间比例。本文将

    2024年04月17日
    浏览(36)
  • 【MySQL】了解MySQL的Explain,读这一篇够了( ̄∇ ̄)/

    目录 ID select_type 查询类型 table 表名 type 关联类型/访问类型 possible_keys MySQL觉得可能要用到的索引 key 实际用到的索引 key_len 用到的索引的长度(比如可用于判断使用了联合索引中的哪几个) ref 表查找值所用的列(表名.字段)或常量(const) row 预估要读取并检测的行数 Ext

    2023年04月09日
    浏览(33)
  • 各种HDR标准的技术细节,读这一篇就够了

    笔者按:最近要做算法层面的HDR/SDR互相转换相关的内容,但是对HDR相关的内容真的没有一个很全面的认识。HDR转SDR还好,都是0~255的8bit图像;但是如果SDR转HDR,转换出来的图像在不同的显示器上观感差距巨大。所以就对这个东西比较迷惑。这篇图像就尝试来弄清楚,这些HD

    2023年04月08日
    浏览(42)
  • JetCache 使用简单案例到源码解析读这一篇就够

    github.com/alibaba/jet… EnableMethodCache,EnableCreateCacheAnnotation这两个注解分别激活Cached和CreateCache注解,其他和标准的Spring Boot程序是一样的。这个类可以直接main方法运行、 User类: UserService: UserSercviceImpl 测试: 缓存实体必须序列化 使用过程中可能会出现包冲突: 解决方法:

    2024年02月04日
    浏览(34)
  • 学了那么长时间的编程,C语言的各种操作符都搞不懂?点开这里有详细的介绍—>

    目录 前言 一、原码、反码、补码的基础概念 1.原码 2.反码 3.补码 二、原码、反码、补码的计算方法 1.原码 2.反码 3.补码 三、算术操作符 四、移位操作符 1. 左移操作符 移位规则: 2. 右移操作符 移位规则: (1) 逻辑移位 (2) 算术移位 五、位操作符 1. 按位与运算(AND)

    2024年02月10日
    浏览(35)
  • 【DevOps】日志管理工具 - 22种 选型(读这一篇就够了)

    日志管理工具是为了在生产环境中,有效管理日志数据而提供的灵活、经济、有效的解决方案。现在来盘点下常见的 22 种 日志管理工具(ManageEngine EventLog Analyzer、Graylog、Logcheck、Logwatch、ELK/Logstash、OpenObserve、Grafana Loki、SigNoz、Syslog-ng、Highlight.io、Filebeat、LogDNA、Datadog/DataL

    2024年02月01日
    浏览(49)
  • 你还不懂《顺序表》?那就不要错过这篇文章!!!

    🎇🎇🎇作者: @小鱼不会骑车 🎆🎆🎆专栏: 《java练级之旅》 🎓🎓🎓个人简介: 一名专科大一在读的小比特,努力学习编程是我唯一的出路😎😎😎 在认识顺序表前我们先认识一下线性表: 小鱼曾在一本书中看到这么一个例子他是这样介绍线性表的: 在一个幼儿园中

    2024年02月21日
    浏览(49)
  • 还不懂 Spring Boot 启动流程的,看这一篇就够了!

    通常,我们只需为一个类添加@SpringBootApplication注解,然后再添加一个main方法,其内固定的写法为SpringApplication.run(Application.class, args)。由此,便可启动Spring Boot服务。 具体而言,Spring Boot的启动流程包括以下几个步骤: 载入 Spring Boot 应用的启动类 根据启动类所在的包路径扫

    2024年02月05日
    浏览(39)
  • RabbitMQ看这一篇文章就够了

    第1节 MQ是什么 第2节 MQ 的主要特点 第3节 RabbitMQ介绍 官网地址 第1节 安装步骤   第2节 用户管理 第1节 RabbitMQ的整体架构图 架构   Producer Exchange Queue Customer 一个消息(message)从开始到结束的过程 第1节 原理图 HelloWorld   P: producer 生产者 C: consumer 消费者 中间红色的部分是一个队

    2024年02月08日
    浏览(48)
  • @Reference注解,看这一篇文章就够了。

            @Reference是Dubbo框架中的注解,用于注入远程服务的引用。         在Dubbo框架中,服务提供者和服务消费者是通过RPC方式进行通信的。服务消费者需要通过Dubbo框架来获取服务提供者的实例,通过这个实例来调用服务提供者的方法。当服务消费者在代码中需要调

    2023年04月25日
    浏览(88)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包