conda
是开源的跨平台包管理与环境管理系统。其基本功能包括安装、运行和更新包及其依赖。conda
由python
所写,但可以管理其它语言所写的项目(如R
)。conda
被包含在python
发行版Anaconda中,和轻量级的Miniconda中。
Anaconda安装
可在Anaconda下载页面下载安装文件,分Python 2.7
和Python 3.6
版本。以下均以Python 2.7
为例,对Python 3.5
,一般将anaconda2
替换为anaconda3
即可。若国内下载速度过慢,可使用清华大学开源软件镜像站(TUNA)提供维护的镜像。
Windows可直接下载安装。一同安装的Anaconda Navigator是用于管理环境和包的GUI,Anaconda Prompt是管理环境和包的命令行终端,Spyder是面向科学开发的IDE。
Linux下载安装包并安装,安装过程会询问路径,默认为${HOME}/anaconda2/
#- 下载
wget https://repo.continuum.io/archive/Anaconda2-x.x.x-Linux-*.sh
#- 安装
bash ./Anaconda2-x.x.x-Linux-*.sh # 依赖系统位数
Linux卸载Anaconda则可以直接删除安装文件夹
rm -rf ~/anaconda2/
更新conda,anaconda和python
conda update conda
conda update anaconda
conda update python
Anaconda源设置
Windows下anaconda配置文件在Administrator/.condarc
,修改为
channels:
- '''https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'''
- '''https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/'''
- '''https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/'''
show_channel_urls: true
Linux下配置文件在~/.condarc
,修改为
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
show_channel_urls: true
包的管理
#- 安装
conda install PKG1 PKG2
conda install PKG1=V1 PKG2=V2 # 指定版本
conda install -n ENV PKG1 PKG2=V2 # 指定环境和版本
#- 删除
conda remove PKG
conda remove -n ENV PKG # 指定环境
#- 更新
conda update PKG
conda update -n ENV PKG # 指定环境
conda update --all
#- 搜寻
conda search PKG
#- 列出
conda list -n ENV
环境的管理
建立新环境,Windows下创建的环境在/Anaconda2/envs/
中,Linux下则在~/anaconda2/envs/
中。
#- 创建NewEnv
conda create -n NewEnv
#- 创建NewEnv并安装PKG1和PKG2,其中PKG2的版本号为V2
conda create -n NewEnv PKG1 PKG2=V2
#- 克隆OldEnv来创建NewEnv
conda create -n NewEnv -clone OldEnv
激活环境和退出环境
#- 激活Env
activate Env # Windows
source activate Env # Linux
#- 显示当前python版本
python --version
#- 退出Env
deactivate Env # Windows
source deactivate Env # Linux
查看环境信息
#- 查看系统中的所有环境
conda info -e
conda env list
#- 查看conda环境系统信息
conda info -s
#- 查看环境系统的详细信息
conda info -all
删除环境
#- 删除环境Env中的包PKG
conda remove -n Env PKG
#- 彻底删除环境
conda env remove -n Env
导入导出环境
#- 导出环境Env为文件Env.yaml
conda env export -n Env > Env.yaml
#- 从yaml导入
conda env create -f Env.yaml
#- 从yaml文件更新环境
conda env update -n Env1 -f Env2.yaml