Conda 常用指令

时间:2025-03-03 14:15:45

Conda 是一个开源的软件包管理和环境管理系统,其主要特点有:

  • 跨平台:支持 Windows、macOS 和 Linux。
  • 环境管理:可以创建、导出、列出、删除和更新环境。
  • 包管理:安装、更新和管理软件包。
  • 支持多种编程语言:不仅限于 Python,还支持 R、Ruby、Lua、Scala、Java 等。

参考:Conda 指令文档

下面列出常用指令。

1. 环境管理

激活和退出

conda activate <env_name>   # 激活环境
conda deactivate            # 退出环境

创建

conda create --name <env_name> python=3.8               # 创建新环境,安装 python3.8
conda create -n <env_name> python=3.8 numpy pandas      # 创建新环境,安装 python3.8 和多个包
conda create -n <env_name> --clone <cloned_env>         # 克隆环境
conda create -n <env_name> --yes python=3.8             # 创建环境并使用 --yes 选项自动确认
conda env create --file                  # 从文件创建
conda env create -f  --name <env_name>   # 从文件创建,并覆盖环境名称
conda env create -f  -n <env_name>      # 从文件创建 

删除

conda remove --name <env_name> --all          # 删除环境本身和所有包
conda remove -n <env_name> --all --keep-env   # 删除环境中所有包,但保留环境

修改

conda rename --name <old_env> <new_env>                     # 重命名环境
conda rename --prefix path/to/old_env <new_env>             # 重命名指定路径的环境
conda env update                                            # 更新当前环境
conda env update -n=<env_name>                              # 更新指定环境
conda env update -f=/path/to/                # 根据指定文件更新
conda env update --name=<env_name> --file=   # 根据指定文件更新指定环境

查看

conda env list                                    # 列出所有环境
conda info --envs                                 # 列出所有环境
conda info --base                                 # 获取Conda基础环境路径
conda info --system                               # 列出环境变量
conda info --unsafe-channels                      # 列出已公开tokens的频道列表
conda info --verbose                              # 列出环境、通道、平台等各种系统和配置细节
conda info --json                                 # 以json格式输出报告
conda compare                      # 比较当前激活环境与文件配置
conda compare --name <env_name>    # 比较指定环境与文件配置
conda doctor                                      # 显示当前激活环境的健康状况

导出

conda export                                            # 导出当前激活环境的信息,未激活则是 base
conda export --name <env_name>                          # 导出指定环境的信息
conda export --prefix </path/to/env>                    # 导出指定路径的环境信息
conda export --name <env_name> --file    # 导出指定环境信息到指定文件,后缀也可以是 yaml
conda env export                                        # 等同于 conda export

2. 包管理

安装

conda install <package_name>                             # 安装包到当前激活环境
conda install -n <env_name> <package_name>               # 安装包到指定环境
conda install <package_name>=1.2.3                       # 安装特定版本
conda install --channel conda-forge <package_name>       # 从特定通道安装
conda install --use-local /path/to/.bz2       # 安装本地包
conda install --strict-channel-priority <package_name>   # 严格遵守通道优先级
conda install --no-channel-priority <package_name>       # 忽略通道优先级,包版本优先于通道优先级
conda install --force-reinstall <package_name>           # 强制重新安装包

删除

conda remove <package_name>                     # 删除当前激活环境的包
conda remove --name <env_name> <package_name>   # 删除指定环境的包

更新

conda update <package_name>                     # 更新当前激活环境的包
conda update --all                              # 更新所有包
conda remove --name <env_name> <package_name>   # 更新指定环境的包

查询

conda list                                # 列出当前环境已安装的包
conda list --reverse                      # 按顺序列出
conda list ^py                            # 使用正则表达式列出以"py"开头的包,可以是任意字符
conda list --export >     # 输出包列表,此输出可由conda create--file使用
conda search <package_name>               # 搜索可用包
conda search '*py*'                       # 搜索包含"py"的包,也可以是任意字符,单双引号都可以
conda search 'numpy>=1.25'                # 搜索包的特定版本
conda search conda-forge::numpy           # 搜索特定通道的包
conda search "conda-forge::numpy>=1.25"   # 搜索特定通道的包的特定版本

3. 系统和配置

初始化

conda init             # 添加 Conda 在 ~/.bashrc 中的初始化代码
conda init --reverse   # 移除自动初始化

信息查询

conda --version                          # 查看 Conda 版本
conda notices                            # 查看所有默认通道的公告通知
conda notices --channel <channel_name>   # 查看指定通道的公告通知
conda notices -c conda-forge             # 查看 conda-forge 通道的通知

配置管理

conda config --show                           # 查看当前配置
conda config --show-sources                   # 查看所有已识别的配置文件源
conda config --show channels                  # 查看包源通道
conda config --describe          			  # 列出所有可用配置选项的描述
conda config --describe channel_priority      # 列出特定配置选项的描述
conda config --add channels <new_channel>     # 添加包源通道
conda config --append channels conda-forge    # 将 conda-forge 通道添加到通道列表的末尾
conda config --set channel_priority strict    # 设置通道优先级
conda config --set verbosity 3 --env          # 设置当前激活环境输出详细程度
conda config --set auto_activate_base false   # 关闭自动激活base
conda config --set auto_activate_base true    # 开启自动激活base

环境变量

conda env config vars list              # 列出当前激活环境的环境变量
conda env config vars set MY_VAR=weee   # 设置环境变量
conda env config vars unset MY_VAR      # 取消设置环境变量

清理

conda clean --all               # 移除索引缓存、锁文件、未使用的缓存包、压缩包和日志文件
conda clean --index-cache       # 移除索引缓存
conda clean --packages          # 移除可写包缓存中未使用的包
conda clean --tarballs          # 移除缓存的包压缩文件
conda clean --tempfiles         # 移除之前由于正在使用而无法删除的临时文件
conda clean --logfiles          # 移除日志文件
conda clean --force-pkgs-dirs   # 移除所有可写包缓存,不包含在 --all 中

运行

conda run --name <env_name> python --version                      # 使用指定环境查看 Python 版本,无需激活
conda run -n <env_name> python                           # 使用指定环境运行 Python 脚本
conda run -n <env_name> --cwd /path/to/project python    # 使用指定环境,在指定目录下运行

附:源通道

可参考 Conda 配置镜像源