【背景】
Python易用,但包管理和Python不同版本的问题比较头疼,特别是当你使用Windows的时候。为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便直接使用
【概述】
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda
来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
conda
可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!
【下载】
建议使用国内清华站下载,速度快 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
【安装】
Anaconda自带Python,如果之前安装过Python,建议先卸载之前安装的Python,删除Python环境变量,例如 C:\Python3\ 和 C:\Python3\Scripts\
Anaconda的安装一路next傻瓜式安装,建议勾选add path到环境变量。如果忘记勾选,手工添加如下路径到path环境变量:
C:\ProgramData\Anaconda3\C:\ProgramData\Anaconda3\Scripts\C:\ProgramData\Anaconda3\Library\bin\C:\ProgramData\Anaconda3\Library\mingw-w64\bin\C:\ProgramData\Anaconda3\Library\usr\bin\
配置好PATH后,可以通过命令检查conda版本和Python版本
conda --version python --version
【设置国内镜像】
如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:
# 添加Anaconda的TUNA镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/# TUNA的help中镜像地址加有引号,需要去掉 # 设置搜索时显示通道地址 conda config --set show_channel_urls yes
【环境管理】
Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root)。假设我们需要安装Python 3.4,此时,我们需要做的操作如下:
# 创建一个名为python34的环境,指定Python版本是 3.4 (不用管是 3.4 .x,conda会为我们自动寻找 3.4 .x中的最新版本) conda create --name python34 python= 3.4 # 此时,再次输入 python --version # 可以得到`Python 3.4 . 5 :: Anaconda 4.1 . 1 ( 64 -bit)`,即系统已经切换到了 3.4 的环境 # 如果想返回默认的python 2.7 环境,运行 deactivate python34 # for Windows source deactivate python34 # for Linux & Mac # 删除一个已有的环境 conda remove --name python34 --all # 安装好后,使用activate激活某个环境 activate python34 # for Windows source activate python34 # for Linux & Mac # 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认 2.7 环境从PATH中去除,再把 3.4 对应的命令加入PATH<br><br>conda info -e #查看当前环境,用户安装的不同python环境都会被放在目录<code>~/anaconda/envs</code>下 |
【常用命令】
# 查看当前环境下已安装的包 conda list # 查看某个指定环境的已安装包 conda list -n python34 # 查找package信息 conda search numpy # 安装package conda install -n python34 numpy # 如果不用-n指定环境名称,则被安装在当前活跃环境 # 也可以通过-c指定通过某个channel安装 # 更新package conda update -n python34 numpy # 删除package conda remove -n python34 numpy
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本