×

Conda使用方法手册

穆琪 穆琪 发表于2019-08-27 09:51:56 浏览1791 评论0

抢沙发发表评论

conda 是针对于 python 的环境和包管理工具。可以安装 minconda 或 anaconda 进行安装,前者是简化版本,只包含 conda 和其依赖。conda 有 Python3.x 和 Python2.x 系列两个版本,其实都没有关系,因为你在使用 conda 进行创建环境时,可以指定 Python 的版本。
安装 conda
以 miniconda 为例,进入 https://conda.io/miniconda.html 选择对应的版本下载并安装。
查看 conda 帮助
所有关于 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 常用命令
conda info
显示当前 conda 安装的所有信息。通常使用 -e/--envs 选项查看创建的虚拟环境:
$ conda info -e
# conda environments:
#
root * /opt/anaconda3
包管理命令
一般来说 conda 仓库的软件没有 PyPI 更新快和全。所以推荐 conda 只用来创建虚拟环境(后面介绍),包的安装管理仍然使用 pip。但在 windows 下由于依赖不好处理,所以在使用 pip 失败时可以查询是否有编译好的 conda 包。
conda list
列出当前环境下所有安装的 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 <pip>
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 install scrapy
使用 conda 安装指定版本包,既可以使用类似 pip 的 ==,也可以直接使用 =:
$ 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 --name tf python=3.5.2 tensorflo
现在使用 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
注意:Windows 下建议使用 git-bash 操作(安装 windows 版本 git 自动创建),否则在 cmd/powershell 下使用 activate [env-name] 激活。
激活成功会在命令行提示符前面标识出当前环境:
(tf) ➜ ~
若要退出激活当前环境,使用 source deactivate,默认回到 base 环境:
$ source deactivate
删除环境
删除环境也使用 conda remove 命令,不过加上参数 --all 并使用 -n/--name 指定要删除的环境名。
$ conda remove -n tf --all
也可以使用命令 conda env remove -n tf。
拷贝环境
在创建环境时可以使用 --clone 从已存在的环境进行拷贝。
$ conda create --clone tensorflow --name tf
在指定环境中管理包
如果和我一样使用 pip 进行包管理,可以忽略这部分。
一种方法是激活该环境,然后按照上面包管理进行操作;另一种方法是使用 conda 进行包管理时指定环境:
$ conda install --name myenv redis
$ conda remove --name myenv redis
使用国内 conda 软件源加速
同样,使用 pip 管理包的忽略。conda 会在每个用户家目录下创建 .conda 目录,用于管理创建的环境,而配置文件存放于 .condarc(没有可以新建)。
国内源比较好的有:
清华大学 conda 仓库镜像
中科大 conda 仓库镜像
使用方法:
$ 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 目录。