使用 .condarc conda 配置文件#

概述#

conda 配置文件 .condarc 是一个可选的运行时配置文件,允许高级用户配置 conda 的各个方面,例如它搜索包的通道、代理设置和环境目录。有关所有 conda 配置选项,请参见 配置页面

注意

.condarc 文件也可用于管理员控制的安装中,以覆盖用户的配置。参见 管理多用户 conda 安装

.condarc 文件可以更改许多参数,包括

  • conda 在哪里查找包。

  • conda 是否以及如何使用代理服务器。

  • conda 在哪里列出已知环境。

  • 是否使用当前激活的环境名称更新 Bash 提示符。

  • 是否将用户构建的包上传到 Anaconda.org

  • 在新建环境中包含哪些默认包或功能。

创建和编辑#

.condarc 文件默认情况下不包含,但您首次运行 conda config 命令时会在您的主目录中自动创建它。要创建或修改 .condarc 文件,请打开终端并输入 conda config 命令。

.condarc 配置文件遵循简单的 YAML 语法

示例

conda config --add channels conda-forge

或者,您可以打开文本编辑器,例如 Windows 上的记事本、macOS 上的文本编辑或 VS Code。将新文件命名为 .condarc 并将其保存到您的用户主目录或根目录。要编辑 .condarc 文件,请从您的主目录或根目录打开它,并像编辑其他任何文本文件一样进行编辑。如果 .condarc 文件位于根环境中,它将覆盖主目录中的任何文件。

您可以通过在终端中键入 conda info 来查找有关您的 .condarc 文件的信息。这将为您提供有关您的 .condarc 文件的信息,包括其所在位置。

您还可以下载 示例 .condarc 文件,在您的编辑器中编辑并保存到您的用户主目录或根目录。

要设置配置选项,请直接编辑 .condarc 文件或使用 conda config --set 命令。

示例

要将 auto_update_conda option 设置为 False,请运行

conda config --set auto_update_conda False

有关 conda config 命令的完整列表,请参见 命令参考。您也可以通过在终端中运行 conda config --help 来查看相同的列表。您还可以查看 conda 通道配置 以获取更多信息。

Conda 支持广泛的配置选项。本页列出了最常用的选项及其用法,但不详尽。要查看您所用 conda 版本的所有可用选项的完整列表,请使用 conda config --describe 命令。

搜索 .condarc#

Conda 在以下位置查找 .condarc 文件

if on_win:
    SEARCH_PATH = (
        "C:/ProgramData/conda/.condarc",
        "C:/ProgramData/conda/condarc",
        "C:/ProgramData/conda/condarc.d",
    )
else:
    SEARCH_PATH = (
        "/etc/conda/.condarc",
        "/etc/conda/condarc",
        "/etc/conda/condarc.d/",
        "/var/lib/conda/.condarc",
        "/var/lib/conda/condarc",
        "/var/lib/conda/condarc.d/",
    )

SEARCH_PATH += (
    "$CONDA_ROOT/.condarc",
    "$CONDA_ROOT/condarc",
    "$CONDA_ROOT/condarc.d/",
    "$XDG_CONFIG_HOME/conda/.condarc",
    "$XDG_CONFIG_HOME/conda/condarc",
    "$XDG_CONFIG_HOME/conda/condarc.d/",
    "~/.config/conda/.condarc",
    "~/.config/conda/condarc",
    "~/.config/conda/condarc.d/",
    "~/.conda/.condarc",
    "~/.conda/condarc",
    "~/.conda/condarc.d/",
    "~/.condarc",
    "$CONDA_PREFIX/.condarc",
    "$CONDA_PREFIX/condarc",
    "$CONDA_PREFIX/condarc.d/",
    "$CONDARC",
)

XDG_CONFIG_HOME 是根据 XDG Base Directory Specification (XDGBDS) 定义的用户特定配置文件存储路径。默认情况下应使用 $HOME/.config。 CONDA_ROOT 是 conda 基本安装的路径。 CONDA_PREFIX 是当前活动环境的路径。 CONDARC 必须是名为 .condarccondarc 或以 YAML 后缀结尾 (.yml.yaml) 的文件的路径。

注意

任何存在于这些特殊搜索路径目录中的 condarc 文件都需要以有效的 yaml 扩展名(“.yml” 或 “.yaml”)结尾。

冲突合并策略#

当配置之间出现冲突时,会采用以下策略

  • 列表 - 合并

  • 字典 - 合并

  • 原始 - 覆盖

优先级#

conda 配置的构建优先级如下所示。每个新的箭头优先于它之前的箭头。例如,配置文件(按解析顺序)将被任何其他配置选项取代。配置环境变量(格式为 CONDA_<CONFIG NAME>)将始终优先于其他 3 个。

../../_images/config-precedence.png

从 .condarc 文件获取信息#

您可以使用以下命令获取 conda 的有效设置。有效设置是指从上面提到的所有来源合并的设置。

获取所有键及其值

conda config --get

获取特定键的值,例如通道

conda config --get channels

显示所有配置文件来源及其内容

conda config --show-sources

将设置保存到您的 .condarc 文件#

.condarc 文件也可以通过 conda 命令修改。以下是几种操作方法的示例。

向特定键(例如通道)添加新值,例如 http://conda.anaconda.org/mutirri

conda config --add channels http://conda.anaconda.org/mutirri

从特定键(例如通道)中删除现有值,例如 http://conda.anaconda.org/mutirri

conda config --remove channels http://conda.anaconda.org/mutirri

删除键(例如通道)及其所有值

conda config --remove-key channels

要为单个环境配置通道及其优先级,请在 该环境的根目录 中创建一个 .condarc 文件。

示例 .condarc 文件#

因为 .condarc 文件只是一个 YAML 文件,这意味着它可以直接编辑。以下是示例 .condarc 文件

# This is a sample .condarc file.
# It adds the r Anaconda.org channel and enables
# the show_channel_urls option.

# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given.
# Use "defaults" to automatically include all default channels.
# Non-url channels will be interpreted as Anaconda.org usernames
# (this can be changed by modifying the channel_alias key; see below).
# The default is just 'defaults'.
channels:
  - r
  - defaults

# Show channel URLs when displaying what is going to be downloaded
# and in 'conda list'. The default is False.
show_channel_urls: True

# For more information about this file see:
# https://conda.io/docs/user-guide/configuration/use-condarc.html