Anaconda

Anaconda简介

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

Anaconda拥有超过1400个软件包其中包含Conda和虚拟环境管理,他们都被包含在Anaconda Navigator中,因此无需去了解独立安装每个库。支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。可以使用已经包含在Anaconda中的命令conda install或者pip install从Anaconda仓库中安装开源软件包。Pip提供了Conda大部分功能,并且大多数情况下两个可以同时使用。可以使用conda build命令构建自定义包,然后通过上传到Anaconda Cloud、PyPI或其他仓库来分享给其他人。

Anaconda2默认包含Python 2.7,Anaconda3默认包含Python 3.7,但是你可以创建虚拟环境来使用任意版本的Python包。

这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

进入下文之前,说明一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

Anaconda 特点

  • 丰富的第三方库

Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。因此你可以立即开始处理数据。

  • 管理包

Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。可以使用 conda 来安装、更新 、卸载工具包 ,并且它更关注于数据科学相关的工具包。在安装 anaconda 时就预先集成了像 Numpy、Scipy、 pandas、Scikit-learn 这些在数据分析中常用的包。另外值得一提的是,conda 并不仅仅管理Python的工具包,它也能安装非python的包。比如在新版的 Anaconda 中就可以安装R语言的集成开发环境 Rstudio。

  • 虚拟环境管理

在conda中可以建立多个虚拟环境,用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突。对纠结于 Python 版本的同学们,我们也可以建立 Python2 和 Python3 两个环境,来分别运行不同版本的 Python 代码。

Anaconda还包含一些功能强大的工具

  • Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。

  • Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。

  • qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。

  • spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。

Anaconda 安装

  • 下载

官网点击Download进入下载页面,选择对应的平台和版本下载,我这里是Anaconda3-2019.03-MacOSX-x86_64.pkg这个版本

  • 安装

下载完成后双击下一步下一步知道安装完成,安装完成后自动会把anaconda的执行文件的路径添加到环境变量中无需手动配置,如何需要手动改变需要自行配置。

Anaconda的使用


  1. # 获取帮助
  2. $ conda --help
  3. # 安装完成后验证conda的版本和python的版本等详细信息
  4. $ conda info
  5. C:\>conda info
  6. active environment : None
  7. user config file : C:\Users\Andy\.condarc
  8. populated config files : C:\Users\Andy\.condarc
  9. conda version : 4.6.12
  10. conda-build version : 3.10.5
  11. python version : 3.6.2.final.0
  12. base environment : D:\software\devapps\anaconda3-5.2.0 (writable)
  13. channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64
  14. https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
  15. https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/win-64
  16. https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch
  17. https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64
  18. https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
  19. https://repo.anaconda.com/pkgs/main/win-64
  20. https://repo.anaconda.com/pkgs/main/noarch
  21. https://repo.anaconda.com/pkgs/free/win-64
  22. https://repo.anaconda.com/pkgs/free/noarch
  23. https://repo.anaconda.com/pkgs/r/win-64
  24. https://repo.anaconda.com/pkgs/r/noarch
  25. https://repo.anaconda.com/pkgs/msys2/win-64
  26. https://repo.anaconda.com/pkgs/msys2/noarch
  27. package cache : D:\software\devapps\anaconda3-5.2.0\pkgs
  28. C:\Users\Andy\.conda\pkgs
  29. C:\Users\Andy\AppData\Local\conda\conda\pkgs
  30. envs directories : D:\software\devapps\anaconda3-5.2.0\envs
  31. C:\Users\Andy\.conda\envs
  32. C:\Users\Andy\AppData\Local\conda\conda\envs
  33. platform : win-64
  34. user-agent : conda/4.6.12 requests/2.21.0 CPython/3.6.2 Windows/10 Windows/10.0.17763
  35. administrator : False
  36. netrc file : None
  37. offline mode : False
  38. C:\>
  39. # 列出我本机的所有环境,第一个是自己创建的,后面的是我自己后续创建的
  40. $ conda info -e
  41. C:\Users\Andy>conda info -e
  42. # conda environments:
  43. #
  44. base * D:\software\devapps\anaconda3-5.2.0
  45. python27 D:\software\devapps\anaconda3-5.2.0\envs\python27
  46. python36 D:\software\devapps\anaconda3-5.2.0\envs\python36
  47. python37 D:\software\devapps\anaconda3-5.2.0\envs\python37
  48. C:\Users\Andy>

包管理

一般来说 conda 仓库的软件没有 PyPI 更新快和全。所以推荐 conda 只用来创建虚拟环境,包的安装管理仍然使用 pip。

  1. # 列出当前环境下所有安装的 conda 包。
  2. $ conda list
  3. # 列举一个指定环境下的所有包
  4. $ conda list -n env_name
  5. # 查询库
  6. $ conda search scrapys
  7. # 安装库安装时可以指定版本例如:(scrapy=1.5.0)
  8. $ conda install scrapy
  9. # 为指定环境安装某个包
  10. $ conda install --name target_env_name package_name
  11. # 更新安装的库
  12. $ conda update scrapy
  13. # 更新指定环境某个包
  14. $ conda update -n target_env_name package_name
  15. # 更新所有包
  16. $ conda update --all
  17. # 删除已经安装的库也尅用(conda uninstall)
  18. $ conda remove scrapy
  19. # 删除指定环境某个包
  20. $ conda remove -n target_env_name package_name
  21. # 删除没有用的包
  22. $ conda clean -p

虚拟环境管理


  1. # 创建环境,后面的python=3.6是指定python的版本
  2. $ conda create --name env_name python=3.6
  3. # 创建包含某些包的环境(也可以加上版本信息)
  4. $ conda create --name env_name python=3.7 numpy scrapy
  5. # 激活某个环境
  6. $ activate env_name
  7. # 关闭某个环境
  8. $ conda deactivate
  9. # 复制某个环境
  10. $ conda create --name new_env_name --clone old_env_name
  11. # 删除某个环境
  12. $ conda remove --name env_name --all
  13. # 生成需要分享环境的yml文件(需要在虚拟环境中执行)
  14. $ conda env export > environment.yml
  15. # 别人在自己本地使用yml文件创建虚拟环境
  16. $ conda env create -f environment.yml

Anaconda 入门详解的更多相关文章

  1. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  2. SQL注入攻防入门详解

    =============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...

  3. SQL注入攻防入门详解(2)

    SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱 ...

  4. Quartz 入门详解

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个, ...

  5. Redis快速入门详解

    Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis ...

  6. [转]SQL注入攻防入门详解

    原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============ ...

  7. [置顶] xamarin android toolbar(踩坑完全入门详解)

    网上关于toolbar的教程有很多,很多新手,在使用toolbar的时候踩坑实在太多了,不好好总结一下,实在浪费.如果你想学习toolbar,你肯定会去去搜索androd toolbar,既然你能看到 ...

  8. 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权

    原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...

  9. webpack入门详解

    webpack入门详解(基于webpack 3.5.4  2017-8-22) webpack常用命令: webpack --display-error-details    //执行打包 webpa ...

随机推荐

  1. 2018.09.07 bzoj1096: [ZJOI2007]仓库建设(斜率优化dp)

    传送门 斜率优化dp经典题. 令f[i]表示i这个地方修建仓库的最优值,那么答案就是f[n]. 用dis[i]表示i到1的距离,sump[i]表示1~i所有工厂的p之和,sum[i]表示1~i所有工厂 ...

  2. 2018.08.05 bzoj3223: Tyvj 1729 文艺平衡树(非旋treap)

    传送门 经典的平衡树问题,之前已经用splay写过一次了,今天我突发奇想,写了一发非旋treap的版本,发现挺好写的(虽然跑不过splay). 代码: #include<bits/stdc++. ...

  3. 右值引用和std::move函数(c++11)

    1.对象移动 1)C++11新标准中的一个最主要的特性就是移动而非拷贝对象的能力 2)优势: 在某些情况下,从旧内存拷贝到新内存是不必要的,此时对对象进行移动而非拷贝可以提升性能 有些类如IO类或un ...

  4. AdapterViewFlipper功能 自动播放的图片库

    案例中有"上一个""下一个""自动播放",但是我觉得可以更加完善一下,点击自动播放,按钮变成"停止播放",在按" ...

  5. 百度地图(icon,zIndex)

    百度地图v2.0参考http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a3b2 覆盖物(Marker) Icon: va ...

  6. 2017 pycharm 激活码

    BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  7. webuploader在ie7下的flash模式的使用

    webuploader在ie7下不能使用h5模式上传图片,只能使用flash模式. 但是出现了几个问题:(1)必须正确的引入.swf文件,才能使webuploader正常运行             ...

  8. Spring源码解析 - BeanFactory接口体系解读

    不知道为什么看着Spring的源码,感触最深的是Spring对概念的抽象,所以我就先学接口了. BeanFactory是Spring IOC实现的基础,这边定义了一系列的接口,我们通过这些接口的学习, ...

  9. MFC中添加新的对话框

    MFC工程中,除了系统自动生成的一些对话框之外,还需要根据自己的需求,添加新的对话框.这里总结下自己最近使用的方法. 首先,找到Resource View中自己新建的工程,然后右键,选择Add Cla ...

  10. application cache 应用缓存

    这些应用还是要自己实现一遍,否则真不知道哪里会出问题. 客户端: <!DOCTYPE html> <html manifest = 'demo.appcache'> <h ...