跳转至

conda

conda 的可用命令如下:

usage: conda-script.py [-h] [-V] command ...

conda是用于管理和部署应用程序、环境和程序包的工具

Options:

positional arguments:
  command
    clean       删除未使用的包和缓存
    config      修改.condarc文件中的配置值
    create      从指定的package列表中创建一个新的conda环境
    help        显示可用的conda命令及其帮助字符串的列表
    info        显示有关当前安装的conda的信息
    init        初始化conda以进行shell交互  [实验性功能]
    install     把一个列表中包含的包安装到指定的conda环境
    list        列出链接到某个conda环境的所有包名
    remove      从指定的conda环境移除列表中包含的包
    uninstall   conda remove的别名
    run         在 conda 环境中运行可执行文件 [实验性功能]
    search      搜索package并显示相关信息。输入是MatchSpec语句(conda软件包的查询语言)
    update      将 conda 包更新为最新的兼容版本
    upgrade     conda update的别名

optional arguments:
  -h, --help
  -V, --version

conda命令

conda info

该命令可以查看当前安装的 conda 的详细信息,包括 conda 版本、python 版本、软件包仓库地址、新建环境的存放路径等。

usage: conda-script.py info [-h] [--json] [-v] [-q] [-a] [--base] [-e] [-s]
                            [--unsafe-channels]

Display information about current conda install.

Options:

optional arguments:
  -h, --help         
  -a, --all          显示所有信息
  --base             显示 base 环境的路径
  -e, --envs         列出所有已知的Conda环境
  -s, --system       列出环境变量
  --unsafe-channels  列出暴露token的channel

Output, Prompt, and Flow Control Options:
  --json             以json格式输出,适合以编程方式使用conda的情况
  -v, --verbose      输入一次用于info,两次用于debug,三次用于trace
  -q, --quiet        不显示进度条

conda create

usage: conda-script.py create [-h] [--clone ENV] [-n ENVIRONMENT | -p PATH]
                              [-c CHANNEL] [--use-local] [--override-channels]
                              [--repodata-fn REPODATA_FNS]
                              [--strict-channel-priority]
                              [--no-channel-priority]
                              [--no-deps | --only-deps] [--no-pin] [--copy]
                              [--no-shortcuts] [-C] [-k] [--offline] [-d]
                              [--json] [-q] [-v] [-y] [--download-only]
                              [--show-channel-urls] [--file FILE]
                              [--no-default-packages] [--dev]
                              [package_spec [package_spec ...]]

Create a new conda environment from a list of specified packages.

Options:

positional arguments:
  package_spec          在新conda环境需要安装或更新的包

optional arguments:
  -h, --help            
  --clone ENV           通过克隆其他环境来创建一个新环境,'ENV'可以是本地环境的路径或名称
  --file FILE           从文件创建环境,可传入多个文件(e.g. --file=file1 --file=file2)
  --dev                 使用'sys.executable -m conda'而不是CONDA_EXE,主要用于测试

Target Environment Specification:
  -n ENVIRONMENT, --name ENVIRONMENT
                        新环境的名字
  -p PATH, --prefix PATH
                        环境目录的完整路径

Channel Customization:
  -c CHANNEL, --channel CHANNEL
                        添加额外的Channel用于搜索包,可指定本地目录。按顺序在指定的Channel
                        进行搜索,"defaults"和.condarc的Channel会先被搜索,除非提供了
                        '--override-channels'参数
  --use-local           使用本地构建的包,等同于"-c local"
  --override-channels   不使用"defaults"和.condarc的Channel
                        要求提供'--channel'参数
  --repodata-fn REPODATA_FNS

Solver Mode Modifiers:
  --strict-channel-priority
                        优先考虑较高优先级的channel的程序包
  --no-channel-priority
                        优先考虑较高版本的软件版,而不考虑channel的优先级
                        这将覆盖'conda config --show channel_priority'给定的值
  --no-deps             不安装、更新、删除或更改依赖性。这将破坏环境,风险自负
  --only-deps           仅安装依赖
  --no-pin              忽略pinned文件
  --no-default-packages
                        忽略.condarc配置文件的'create_default_packages'设置

Package Linking and Install-time Options:
  --copy                使用副本而不是硬链接或软链接来安装所有软件包
  --no-shortcuts        不安装开始菜单快捷方式

Networking Options:
  -C, --use-index-cache
                        即使channel的索引文件已过期,也使用其缓存
  -k, --insecure        允许conda执行不安全的SSL连接和传输
                        等效于将'ssl_verify'设置为'false'
  --offline             离线模式,不连接网络

Output, Prompt, and Flow Control Options:
  -d, --dry-run         仅显示将要完成的操作
  --json                
  -q, --quiet           
  -v, --verbose         
  -y, --yes             默许所有操作,不要求确认
  --download-only       
  --show-channel-urls   显示channel的url
                        覆盖`conda config --show show_channel_urls`的值

conda常用命令

查看信息

# 查看当前安装的 conda 的详细信息
# 其中包括 conda 版本、python 版本、软件包仓库地址、新建环境的存放路径等
conda info

# 查看conda版本信息
conda -V
conda --version 

环境管理

查看环境信息

# 查看当前 conda 中所有已创建的环境列表
# 处于激活状态的环境旁边会有一个*的标记
conda env list
conda info --envs
conda info -e

# 查看 Conda 相关的环境变量信息
conda info --system
conda info -s

# 查看环境系统更加详细的信息
conda info --all
conda info -a

激活环境

# 进入指定环境
conda activate <env>

# 退出环境
conda deactivate

导出环境

# 默认导出当前环境的依赖包
conda list -e > package-list.txt
conda list -e > package-list.yml
# 导出指定环境的依赖包
conda list -n <env> -e > package-list.yml
# 或者这样
conda env export --name base --file base_bunnies.yml
## 这会将当前环境中由 conda 管理的包和由 pip 安装的包同时导出到文件中
## 所以当根据文件创建环境时,无需重新安装 pip 的包

创建环境

# 新建一个名为 newenv 的环境,并指定新环境中的 python 版本为3.6
# 创建出来的环境中只带有最基本的包
conda create --name newenv python=3.6
# 也可以在创建环境时候,包含某些程序或者包 
conda create --name newenv python=3.6 biopython ipython 
# 通过克隆创建一个新环境
conda create --name newenv -clone base

# 从文件创建环境
## 如果是用 conda env export --name 导出的文件,则可用下列命令创建:
conda env create -f package-list.yml
## 如果是用 conda list -e 导出的文件,则用如下方式创建:
conda create --name <env> --file <deps file>

更新环境

# 更新环境
conda env update --name <env> -file=<deps file>

删除环境

# 删除环境中指定的包
conda remove --name <env> ipython biopython

# 彻底删除环境
conda env remove --name <env>

从指定路径安装环境

conda 创建出来的环境默认放在/User/<yourname>/anaconda/env目录下,你可以将其中的某个环境文件夹整体拷贝走,复制到另一台机器上,然后基于此文件夹创建环境。

包管理

conda list                      # 查看已经安装的包
conda update conda              # 升级conda自身
conda search requests           # 查询某个包
conda install requests          # 安装新包
conda install -n base requests  # 将包安装到指定环境
conda update --all              # 更新所有包
conda update requests           # 升级包
conda remove requests           # 移除包
conda remove -n base requests   # 从指定环境中移除包

conda 不提供检查可更新的包的命令,update 所有包时会有提示,列出所有可更新的包,并让用户确认是否全部更新。

为 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 --set show_channel_urls yes

使用conda config --show channels命令可以查看当前的源仓库地址。