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


