anaconda可以方便的管理python版本和各种第三方库的依赖。而Virtualenv Environment虽然也可以管理第三方库的依赖,使用pip安装不同版本,但是它仅能使用本地已有的python版本,使用起来还是不太方便的。
anaconda的安装过程比较简单,不详细介绍。
管理环境
# 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本),conda仅安装python 3.4相关的必须项,如python, pip等
conda create --name python34 python=3.4
# 在当前环境下安装anaconda包集合
conda install anaconda
# 结合创建环境的命令,以上操作可以合并为
conda create -n python34 python=3.4 anaconda
# 也可以不用全部安装,根据需求安装自己需要的package即可
# 安装好后,使用activate激活某个环境
activate python34 # for Windows
source activate python34 # for Linux & Mac
# 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH
# 此时,再次输入
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
管理第三方库
# 安装scipy
conda install scipy
# conda会从从远程搜索scipy的相关信息和依赖项目,对于python 3.4,conda会同时安装numpy和mkl(运算加速的库)
# 查看已经安装的packages
conda list
# 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包
# pip同样能用
pip install requests
# 卸载包
conda remove requests
# 用pip卸载
pip uninstall requests
其它常用命令
# 查看当前环境下已安装的包
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、python等都视为package,因此,完全可以使用conda来管理conda和python的版本
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本
管理镜像地址
# 添加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 env export > environment.yaml
导入包信息
conda env create -f environment.yaml
常用的命令总结如下:
activate # 切换到base环境
activate learn # 切换到learn环境
conda create -n learn python=3 # 创建一个名为learn的环境并指定python版本为3(的最新版本)
conda env list # 列出conda管理的所有环境
conda list # 列出当前环境的所有包
conda install requests # 安装requests包
conda remove requests # 卸载requets包
conda remove -n learn --all # 删除learn环境及下属所有包
conda update requests # 更新requests包
conda env export > environment.yaml # 导出当前环境的包信息
conda env create -f environment.yaml # 用配置文件创建新的虚拟环境