conda 是 Anaconda 下用于包管理和环境管理的工具,功能上类似 pip 和 vitualenv 的组合。安装成功后 conda 会默认加入到环境变量中,因此可直接在命令行窗口运行命令 conda
conda 的环境管理与 virtualenv 是基本上是类似的操作。
所有关于 conda 的使用都可以从帮助信息获取,在什么也不知道的情况下就可以使用 conda -h/–help 查看帮助信息:
$ conda -h
conda is a tool for managing and deploying applications, environments and packages.
Options:
positional arguments:
command
info Display information about current conda install.
help Displays a list of available conda commands and their help
strings.
list List linked packages in a conda environment.
......
可以看到,conda 有很多命令,要查看具体命令帮助,同样使用 -h 选项,如:
$ conda info -h
usage: conda info [-h] [--json] [--debug] [--verbose] [--offline] [-a] [-e]
[-l] [-s] [--root] [--unsafe-channels]
[packages [packages ...]]
Display information about current conda install.
Options:
positional arguments:
packages Display information about packages.
optional arguments:
-h, --help Show this help message and exit.
--json Report all output as json. Suitable for using conda
programmatically.
......
显示当前 conda 安装的所有信息。通常使用 -e/–envs 选项查看创建的虚拟环境:
$ conda info -e
# conda environments:
#
root * /opt/anaconda3
一般来说 conda 仓库的软件没有 PyPI 更新快和全。所以推荐 conda 只用来创建虚拟环境(后面介绍),包的安装管理仍然使用 pip。但在 windows 下由于依赖不好处理,所以在使用 pip 失败时可以查询是否有编译好的 conda 包。
列出当前环境下所有安装的 conda 包。
$ conda list
# packages in environment at /opt/anaconda3:
#
_license 1.1 py35_1
_nb_ext_conf 0.3.0 py35_0
acora 2.0
alabaster 0.7.9 py35_0
......
使用 conda search 查询 conda 包,只有经过 conda 重新编译入库的才能使用 conda search 查询得到,具体可以进 Anaconda package lists 查看。
$ conda search scrapy
Loading channels: done
Name Version Build Channel
......
scrapy 1.4.0 py27h060f748_1 defaults
scrapy 1.4.0 py35h03cf01c_1 defaults
scrapy 1.4.0 py36h5dd8a1d_1 defaults
scrapy 1.5.0 py27_0 defaults
scrapy 1.5.0 py35_0 defaults
scrapy 1.5.0 py36_0 defaults
使用 conda install 安装 conda 包,会自动处理包之间的依赖。
使用 conda 安装指定版本包,既可以使用类似 pip 的 ==,也可以直接使用 =
$ conda install scrapy=1.5.0 | conda install scrapy==1.5.0
使用 conda update 更新 conda 包到最新版本,也可使用 conda upgrade。
$ conda update scrapy
使用 conda remove 卸载 conda 包,也可使用 conda uninstall。
$ conda remove scrapy
创建虚拟环境,使用 -n/–name 指定环境名称。可以在创建环境的同时安装包。由于 conda 将 python 也作为包,所以可以像其他包一样安装。
$ conda create -n tf(你自定义的环境名字) python=3.5(指定python的版本)
现在使用 conda info -e 查看环境(也可使用命令 conda env list):
$ conda info -e
# conda environments:
#
base * /opt/anaconda3
tf /opt/anaconda3/envs/tf
默认处于 base 环境,进入其他环境需要使用 source activate 手动切换:
$ source activate tf 或者 activate tf (windows下)
激活成功会在命令行提示符前面标识出当前环境:
(tf) ➜ ~
若要回到base环境,可以用source deactivate 或 deactivate(windows下)
source deactivate 或 deactivate
删除环境也使用 conda remove 命令,不过加上参数 --all 并使用 -n/–name 指定要删除的环境名。
$ conda remove -n tf --all
也可以使用命令 conda env remove -n tf。
在创建环境时可以使用 --clone 从已存在的环境进行拷贝。
$ conda create --clone tensorflow --name tf
包管理有三种办法:
$ conda install --name myenv redis
$ conda remove --name myenv redis
可参考该篇文章:
conda 会在每个用户家目录下创建 .conda 目录,用于管理创建的环境,而配置文件存放于 .condarc(没有可以新建)。
国内源比较好的有:
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
$ conda config --set show_channel_urls yes
若要使用官方仓库,删除 ~/.condarc 目录。