Anaconda使用总结
序
Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候。为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便pythoners直接使用,此外,还有virtualenv、pyenv等工具管理虚拟环境。
个人尝试了很多类似的发行版,最终选择了Anaconda,因为其强大而方便的包管理与环境管理的功能。该文主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作。
Anaconda概述
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda
来进行package和environment的管理,并且已经包含了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的下载页参见官网下载,Linux、Mac、Windows均支持。
安装时,会发现有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.5,两个版本其实除了这点区别外其他都一样。后面我们会看到,安装哪个版本并不本质,因为通过环境管理,我们可以很方便地切换运行时的Python版本。(由于我常用的Python是2.7和3.4,因此倾向于直接安装Python 2.7对应的Anaconda)
下载后直接按照说明安装即可。这里想提醒一点:尽量按照Anaconda默认的行为安装——不使用root权限,仅为个人安装,安装目录设置在个人主目录下(Windows就无所谓了)。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。
对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda
)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/.bashrc
,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作是
配置好PATH后,可以通过which conda
或conda --version
命令检查是否正确。假如安装的是Python 2.7对应的版本,运行python --version
或python -V
可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也说明该发行版默认的环境是Python 2.7。
Conda的环境管理
Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root
,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 3.4,此时,我们需要做的操作如下:
用户安装的不同python环境都会被放在目录~/anaconda/envs
下,可以在命令中运行conda info -e
查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。
说明:有些用户可能经常使用python 3.4环境,因此直接把~/anaconda/envs/python34
下面的bin或者Scripts加入PATH,去除anaconda对应的那个bin目录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……
如果直接按上面说的这么改PATH,你会发现conda命令又找不到了(当然找不到啦,因为conda在~/anaconda/bin
里呢),这时候怎么办呢?方法有二:1. 显式地给出conda的绝对地址 2. 在python34环境中也安装conda工具(推荐)。
Conda的包管理
Conda的包管理就比较好理解了,这部分功能与pip
类似。
例如,如果需要安装scipy:
conda的一些常用操作如下:
前面已经提到,conda将conda、python等都视为package,因此,完全可以使用conda来管理conda和python的版本,例如
补充:如果创建新的python环境,比如3.4,运行conda create -n python34 python=3.4
之后,conda仅安装python 3.4相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要:
# 在当前环境下安装anaconda包集合 conda install anaconda # 结合创建环境的命令,以上操作可以合并为 conda create -n python34 python=3.4 anaconda # 也可以不用全部安装,根据需求安装自己需要的package即可
设置国内镜像
如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:
执行完上述命令后,会生成~/.condarc
(Linux/Mac)或C:UsersUSER_NAME.condarc
文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。
跋
Anaconda具有跨平台、包管理、环境管理的特点,因此很适合快速在新的机器上部署Python环境。总结而言,整套安装、配置流程如下:
- 下载Anaconda、安装
- 配置PATH(bashrc或环境变量),更改TUNA镜像源
- 创建所需的不用版本的python环境
- Just Try!
cheat-sheet 下载:
Conda cheat sheet
ubuntu安装卸载Anaconda
安装要点:
1.在Anaconda官网https://www.continuum.io/downloads内下载需要的版本;
2.打开终端——进入下载安装包所在的文件夹(cd 文件名)——输入命令:bash + 下载包文件名 ——进行安装,根据提示选择yes——安装成功;
3.验证安装是否成功:
方法一:
启动新终端;查看conda版本:
4.其他拓展
注:由于anaconda在linux下是安装在一个文件夹里/root/anaconda ,如果安装过程中出错问题,或者想更新另一个版本,删除anaconda也很方便,在终端执行下面命令即可
rm-rf ~/anaconda
5.Spyder与Ipython
Anaconda安装完成之后,Spyder与Ipython也已经被安装完毕,如需使用,直接启动终端输入spyder或Ipython命令即可启动对应终端。
spyder (the Scientific PYthon Development EnviRonment)是一个免费的交互式开发环境,它已经包含在anaconda安装过程之中,不需要另外安装。它可以进行编辑、调试、自检等功能,是一款很合适的开发环境。
在anaconda安装完成之后,启动spyder 非常方便。直接在终端输入spyder命令即可
PS:感谢ToSouth文章的帮助
卸载要点
在ubuntu上卸载anaconda的步骤 :
1)删除整个anaconda目录:
由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。到包含整个anaconda目录的文件夹下,删除整个Anaconda目录:
rm -rf anaconda文件夹名
2)建议——清理下.bashrc中的Anaconda路径:
1.到根目录下,打开终端并输入:
sudo gedit ~/.bashrc
2.在.bashrc文件末尾用#号注释掉之前添加的路径(或直接删除):
#export PATH=/home/lq/anaconda3/bin:$PATH
保存并关闭文件
3.使其立即生效,在终端执行:
source ~/.bashrc
4.关闭终端,然后再重启一个新的终端,这一步很重要,不然在原终端上还是绑定有anaconda.