使用 .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 上的 Notepad、macOS 上的 TextEdit 或 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 基本目录规范 (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