文章目录

  • 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的地方

所有的第三方包都放在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://pan.baidu.com/s/13oW2IRUkJ4Of2gSELOXDRA
提取码:rwi1

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

安装好后,我们可以在任务栏看到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

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

5.2 查看所有环境

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

conda info --envs
conda env list

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

5.3 激活环境

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

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

由此可以看到,我们的环境从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包。安装成功!

6 退出当前环境

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

conda deactivate # windows
source deactivate 环境名 # linux

注意,如果你之前用过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 含有此字段名的包名

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

  1. 架构师必须搞懂DNS,一篇文章就够了。

    转载自 架构师必须搞懂DNS,一篇文章就够了. 概念 DNS,全称Domain Name System,即域名系统,搞清楚,它不是DNF地下城与勇士. DNS是怎么来的,我们知道要访问一个服务器的资源 ...

  2. 《企业自主搞定ERP》试读:第一章-Odoo概述

    文/开源智造联合创始人老杨 本文来自<企业自主搞定ERP>的试读章节.书籍尚未出版,请勿转载.欢迎您反馈阅读意见. Odoo是什么 Odoo,以前叫OpenERP,是比利时Odoo S.A ...

  3. 还在为搞不懂笔记本电脑参数而苦恼么?一篇文章就够啦

    点赞后看,养成习惯 喜欢的话 可以点个关注哟 你们的点赞支持对博主们来说很重要哦 !!! 要说笔记本电脑的参数,我们可以从两个角度去切入,一个是关于性能,另一个是关于体验. 关于性能的参数有:CPU. ...

  4. 学习编程时真正值得一读的一篇文章 与 书籍

    Teach Yourself Programming in Ten Years 彼得·诺维格(Peter Norvig)是美国计算机科学家.他是Google,LLC的研究总监,并曾担任Google搜索 ...

  5. 搞定 WeakHashMap 的工作原理一篇文章就够了!!!

    文章目录 一.什么是 WeakHashMap? 二.为什么需要 WeakHashMap? 三.WeakHashMap 的例子 四.WeakHashMap 的使用场景 五.WeakHashMap 的数据 ...

  6. 搞懂零拷贝这一篇文章就够了

    目录 一.缓冲I/O和直接I/O 1.应用程序内存 2.用户缓冲区 3.内核缓冲区 二.内存映射文件与零拷贝 1.内存映射文件 2.零拷贝 实现方法1:利用直接I/O 实现方法2:利用内存映射文件 实 ...

  7. 如果你看不懂别人画的 UML 类图,看这一篇文章就够了

    目录 1.UML 定义 2.类图中每个类的构成 3.UML类图中箭头的含义 3.1.实线空心箭头 3.2.虚线空心三角箭头 3.3. 实线箭头 3.4.虚线箭头 3.5.尾部为空心菱形箭头 (也可没箭 ...

  8. 如何彻底搞懂TDengine的fqdn概念?这一篇文章就够了

    小T导读:很多新用户在配置TDengine的时候,偶尔会因为没有配置好FQDN,导致出现"unable to resolve FQDN"问题.所以大家会因为这个问题向TDengin ...

  9. 面试还搞不懂Redis,快看看这40道面试题!| 博文精选

    作者| 程序员追风 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 近年来,微服务变得越来越热门,越来越多的应用部署在分布式环境中.常用的分布式实现方式之一就有 Redis ...

最新文章

  1. 安装脚本退出,并显示错误:命令“ x86_64-linux-gnu-gcc”失败,退出状态为1
  2. php多线程foreach,php中foreach curl实现多线程例子
  3. new ArrayList 报错
  4. 基于知识图谱的行业问答系统搭建分几步?
  5. notepad 配置python_Notepad++配置Python开发环境的图文详解
  6. 基于cxf框架javaweb服务说明
  7. 分享Swing学习的一些经验
  8. Win10系列:WinJS库控件
  9. ANSI, unicode, UTF-8编码详解
  10. 2021全国大学生数学建模 C题 解题思路和细节展示
  11. 基于bim的施工管理平台
  12. matlab 取矩阵上三角元素,MATLAB triu():提取上三角矩阵
  13. VBA常用实例 | OUTLOOK批量下载选中邮件中的附件
  14. 记住看小电影前一定要检查网址是不是 HTTPS 的,不然…
  15. Dubbo+ZK入门使用
  16. DNS测试 nslookup
  17. CS5298 Type-C/DP1.4 到 HDMI 2.1转换芯片|TYPEC转HDMI2.1转换芯片|DP1.4转HDMI2.1转换芯片
  18. 自动(智能)驾驶系列|(一)简介与传感器
  19. js语法+dom+js图片库+最佳实践+图片库改进版
  20. 尚在人间,何处不青春

热门文章

  1. Manjaor连接wifi失败,wifi设备状态为unclaimed
  2. 为什么中层没有执行力?
  3. 没有网线的时候怎么让虚拟机使用Windows的wifi上网设置
  4. 腾讯拟推出个人微信云存储付费服务,你会买单吗?
  5. ppst技术视频——eclipse 安装tomcat插件的方法
  6. 翻译: 欧盟除了GDPR, 再出人工智能法Artificial Intelligence Act
  7. 如何在Linux上得到CPU的工作速度
  8. 对话 CTO〡和 PingCAP CTO 黄东旭聊开源数据库新蓝海
  9. 双电源供电方案-优缺点
  10. 无线传感网络技术实验-实现一种传播协议