一、简介
Conda是目前为止,最流行的Python软件包与管理环境。Conda分为 miniconda 与 anaconda两种。前者从名字上就能猜出是精简版,后者预装了很多常用的功能,但比较臃肿。实际工程中,一般都使用 miniconda,按需安装软件包,本文的下面篇幅也以 miniconda 为例进行说明。
与pip、virtualenv区别:
1,pip是python下的包管理工具,主要用于从pypi下载所需的python包,但是pip不会自动处理包之间的依赖关系;在使用pip安装包时,可以修改安装源为https://pypi.tuna.tsinghua.edu.cn/simple/,可以提升安装速度。
2,virtualenv是一个环境管理工具,使用virtualenv可以创建一个完全隔离的环境,但virtualenv只能创建基于本机已存在的python版本的虚拟环境;使用virtualenv创建完成环境以后,可以使用pip安装python包,也可以使用conda安装python包。
3,conda结合了pip和virtualenv两者的功能,使用conda可以创建任意python版本的虚拟隔离环境,而且conda还是一个包管理工具,不但可以安装python包,而且可以安装其他语言的包,更重要的是conda具有完美的包依赖关系处理能力,可以轻松的安装所需的包而不用过分的去手动处理各种包之间的依赖关系;在使用conda安装包时,可以修改安装源为https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
二、Conda安装
1,首先利用wget下载安装脚本文件:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
2,利用chmod命令修改sh文件为可执行文件,然后运行安装脚本:
chmod 755 Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh
安装时,根据提示选择默认就行。
三、Conda常用命令
1,包管理
与python -m pip list类似,conda可以列出当前环境下的所有包:
conda list
2,版本与升级
conda有一套特别的机制,用于管理和维护依赖库之间的关系。在不同版本的conda中,我们可以直接使用的Python与依赖库的版本都不同,为了确定当前使用的conda版本,可以运行以下命令:
conda --version
有时,我们想用的某个库在conda中有问题,或者默认模块安装的版本比较旧,可以先尝试升级解决:
conda update conda
3,环境管理
conda环境中的虚拟环境比起原生Python更为强大,可以指定Python的版本,并自动安装相关的C++依赖库(Windows下自动下载相关的c++ runtime)。
conda create -n env_demo #建立虚拟环境
conda create python=3.6 -p /tmp/test #Conda就为你生成了一个在/tmp/下叫test的虚拟环境,并且环境里的python版本是3.6
ls /tmp/test #可以查看该路径下内容
4,激活
conda activate /tmp/test #/tmp/test是虚拟环境的路径,激活后可以用which python确认是否成功。如果成功,当前python应该指向的是/tmp/test/bin/python
5,安装依赖
激活一个Conda的虚拟环境后,安装依赖主要用以下命令:
conda install xxx
查看配置
conda config --show
注意:Conda不仅仅可以用conda install安装软件,同时也可以继续用pip,就和普通Python环境下操作没太有什么区别
四、Conda环境导出与恢复
conda env export > env.yml #Conda支持直接导出环境命令
conda env create -n revtest -f=/tmp/env.yml #恢复环境命令