[Python]Anaconda安装和使用指南

[Python]Anaconda安装和使用指南

本文介绍anaconda的安装,和使用anaconda对Python进行环境管理。

概述

Anaconda是一个可用于科学计算的Python发行版。这是什么意思呢?Python是一门编程语言,使用这门语言的时候,在写代码这件事情之外,还有很多其他的配套工作,比如运行脚本、下载各种需要用到的库、管理环境等。Anaconda就把这些功能全都集成好了,省去很多琐碎的工作。简单来说,Anaconda帮你管理了在使用Python时用到的包和环境。

让我们来看一看Anaconda的特长:

  1. Anaconda集成了大部分需要用到的Python包,尤其是数据科学类的包,在数据处理方面,你几乎可以在安装后直接进行使用。
  2. 利用自带的conda,Anaconda能够对Python包安装、卸载和更新。Python的一大优势即是丰富的第三方的包,比如数据处理的numpy、数据分析的pandas、和我们做深度学习用到的keras,都是我们所说的包。安装和管理这些包是使用Python的日常。Anaconda是一个便利简洁的包管理器。
  3. 同时,利用conda,Anaconda提供了容易操作的环境管理方式。这里说的环境是独立的、互不干扰的开发环境。设想你在项目A中使用了Python2,然而新的项目B要求的是Python3,那么在同一套环境中同时安装Python2和Python3,必然会因为版本的不同引发混乱;另一种情况是,你在不同的项目中使用的包的版本不同,你不可能在同一个地方同时启用两个不同版本的包。这个时候,正确的做法是,对不同的项目(通常是对Python或者包的版本要求不同的项目)建立不同的环境,在单一的环境中使用统一的Python版本,和安装所使用到的包。在这样相互独立的环境中工作,能够做到版本间互不干扰,而环境管理可以通过conda轻松做到和维护。

所以,工欲善其事,必先利其器,学习Python,Anaconda是不二之选。


安装Anaconda

Anaconda可以从官网(repo.continuum.io/archi)下载,可以看到Linux、Mac、Windows均支持。

这里有两个版本,分别对应Python 2.7和Python 3.6,这里建议下载Python 3.6版本,因为一方面,对于深度学习,windows版本下的tensorflow暂时不支持Python2.7;另一方面,Python3正在逐渐替代Python2。本文选用了python3的版本,但其实,版本的选择在anaconda中并不是一个问题,因为通过环境管理,我们可以很方便地切换运行时的Python版本,读者大可以按照自己的使用习惯进行选择。

如果官网的速度太慢,这里建议大家使用清华镜像(mirrors.tuna.tsinghua.edu.cn)下载,找到对应的anaconda版本和操作系统即可。

下载后按提示安装就可以了。

安装完Anaconda,就相当于安装了Python、命令行工具Anadonda Prompt、集成开发环境Spyder、交互式笔记本IPython和Jupyter Notebook。下图列出了Anaconda的一套工具,你可以在开始菜单里找到这些应用。


使用conda进行环境管理和包管理

conda是anaconda中的环境管理器和包管理器。

对于conda的操作都发生在命令行内,我们可以打开Anaconda Prompt进行操作。

1. 检查conda

在使用conda前,我们先检查conda是否已经被安装,以及当前版本是否是最新。

# 检查conda是否已经安装好,此命令会返回你安装Anaconda软件的版本
conda --version
>> conda 4.3.40

# 通过以下命令升级conda到最新版本
# 如果有新版本可用,在提示proceed ([y]/n)? 中输入y进行升级
conda update conda

2. 环境管理

环境管理是Python使用中的一大好习惯,如果你不想在一遍遍重装Python和系统中折腾循,那么环境管理是学习Python的过程中非常必要的一环。现在我们用conda进行环境管理。

  • 创建环境
# 创建一个环境名为py34,指定Python版本是3.4
#(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)
conda create --name py34 python=3.4
# 通过创建环境,我们可以使用不同版本的Python
conda create --name py27 python=2.7
  • 激活环境
# 在windows环境下使用activate激活
activate py34

# 在Linux & Mac中使用source activate激活
source activate py34

激活后,会发现terminal输入的地方多了(py34)的字样,这表示我们已经进入了py34的环境中。

  • 退出环境
# 在windows环境下使用deactivate
deactivate

# 在Linux & Mac中使用source deactivate
source deactivate
  • 删除环境

如果你不想要这个名为py34的环境,可以通过以下命令删除这个环境。

conda remove -n py34 --all

可以通过以下命令查看已有的环境列表,现在py34已经不在这个列表里,所以我们知道它已经被删除了。

conda info -e

3. 包管理

我们使用conda进行第三方包的安装、卸载和更新。

对于包的下载,我们可以先设置国内镜像。这是因为Anaconda.org的服务器在国外,所以conda在下载包的时候速度往往很慢。所幸清华TUNA镜像(mirrors.tuna.tsinghua.edu.cn)有Anaconda仓库的镜像,我们将其加入conda的配置,即可解决这个问题。

# 添加Anaconda的TUNA镜像
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

接下来我们进行包的安装,请进入指定的环境中(比如上节中的py34),这里我们以pandas(一个数据处理和分析的包)为例进行操作。

  • 查看已安装的包
#使用这条命令来查看在当前环境中,已安装的包和对应版本
conda list
  • 查找可安装的包
#我们可以通过search命令检查pandas这个包是否可以通过conda来安装
#命令返回了这个包的信息,所以是可以通过conda安装的
conda search pandas
  • 安装包
#通过install安装pandas
#如果pandas已经存在于环境中,会提示已经安装,否则在提示proceed ([y]/n)? 中输入y进行安装
conda install pandas
  • 更新包
#通过update更新pandas
conda update pandas
  • 卸载包
#通过remove卸载pandas
conda remove pandas

以上就是conda对于包的安装、更新和卸载。值得一提的是,conda将conda、python等都视为包,因此,完全可以使用conda来管理conda和python的版本,例如

# 更新conda到最新版本,这里conda被当作一个包处理 
conda update conda 

# 同样的,也可以更新anaconda到最新版本
conda update anaconda

# 更新python
# 例如我们所启用的环境是py34,使用的是python3.4,那么conda会将python升级为3.4.x系列中的最新版本
conda update python 

编辑于 2018-05-19

文章被以下专栏收录