故障排除#

本页详细介绍了一些常见问题及其相应的解决方法。有关 Anaconda 安装或技术支持选项,请访问我们的支持服务页面

提示

您可以使用浏览器的搜索功能在此页面中搜索信息:Ctrl+F (Windows)/Cmd+F (Mac)。

Conda:通道不可用/缺失或软件包本身缺失#

原因

在 Pro (旧版) 或商业层级上配置 .condarc 后,在某些情况下,您可能无法安装软件包。您可能会收到错误消息,指出通道或软件包不可用或缺失。

解决方案

一个可能的解决方法是运行以下命令

conda clean --index-cache

这将清除“索引缓存”,并强制 conda 从仓库服务器同步元数据。

从 Anaconda 通道收到 403 错误#

提示

如果您正在使用 Anaconda 托管的 conda-forge 并收到 403 错误,请参阅从托管的 conda-forge 收到 403 错误

原因

403 错误是 Web 服务器发出的通用 HTTP 错误,表示客户端被禁止访问资源。换句话说,如果您收到 403 错误,conda 认为该通道不存在,或者您没有权限使用它。

您收到的 403 错误可能如下所示

Collecting package metadata (current_repodata.json): failed

UnavailableInvalidChannel: HTTP 403 FORBIDDEN for channel main <https://repo.anaconda.com/repo/main>

The channel is not accessible or is invalid.

You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.

收到此错误有几个可能的原因

  • 您在 .condarc 文件中错误地配置了通道。

  • 防火墙或其他安全设备或系统阻止用户访问。

  • 由于可能违反服务条款,访问被阻止。

解决方案

首先,仔细检查您的通道配置,并验证地址是否已正确输入。

如果失败,请与您的 IT 管理员联系,以确保您的代理或防火墙没有阻止到仓库通道的流量。

如果您确定流量没有被阻止,并且问题仍然存在,请打开支持工单

HTTP 000 连接失败#

原因

这通常是由代理配置错误引起的,可以通过正确设置您的代理服务器来纠正。但是,由于某些企业没有提供 SSL 证书的简便方法,Anaconda 建议如果您遇到此错误,请绕过 SSL 验证步骤。

解决方案

如果您收到此错误消息,请首先运行以下命令

conda config --set ssl_verify false

(软件包安全管理器用户) 如果需要,请运行以下命令安装 conda-token

conda install conda-token --channel https://repo.anaconda.cloud/repo/anaconda-tools --name base

(软件包安全管理器用户) 通过运行以下命令,确保令牌验证步骤忽略 SSL 错误

# Replace <TOKEN> with your token
conda token set --no-ssl-verify <TOKEN>

您可能会看到以下警告,但您可以安全地忽略它

/Users/<USERNAME>/Applications/miniconda3/lib/python3.7/site-packages/urllib3/connectionpool.py:1020: InsecureRequestWarning: Unverified HTTPS request is being made to host 'repo.anaconda.cloud'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning,

由于策略过滤器,环境创建失败#

原因

实施没有例外的严格策略过滤器可能会导致重要的软件包依赖项从您的仓库中被过滤掉。如果没有这些软件包,像 conda create --name <ENV_NAME> python=3.11 这样的命令将会失败。

如果您尝试创建一个新环境,但由于软件包冲突或软件包不可用而导致构建失败,则很可能是由于您的 IT 团队的严格策略过滤器造成的。您可以请求将软件包例外添加到策略过滤器中,但您需要首先知道哪些软件包导致了问题。

解决方案

要执行此测试,您需要一个没有应用策略过滤器的通道。在您的组织中创建通道并将其命名为 quarantine。创建后,将其添加到您的 .condarc 文件中。有关将通道添加到 .condarc 文件的帮助,请参阅通道

创建隔离通道并将其添加到您的 .condarc 文件后,您可以运行以下命令

# Replace <ENV_NAME> with a test environment name (this is not permanent)
# Replace <CHANNEL> with your channel name
conda create --name <ENV_NAME> --channel <CHANNEL> --channel quarantine python=3.11 --dry-run

注意

如果您在 .condarc 中设置了通道别名,则可以使用通道名称和 --channel 参数。如果您没有设置,则可以使用完整的通道 URL 和 --channel 参数。您可以从您的“通道”页面复制通道 URL。有关设置通道别名的更多信息,请参阅使用 .condarc conda 配置文件

例如,如果您尝试从 snakes 通道测试构建环境,则命令将是

conda create --name test_environment --channel snakes --channel quarantine python=3.11 --dry-run

注意

snakesquarantine 的顺序至关重要。Conda 将按照通道列出的顺序尝试解决环境问题,因此 quarantine 必须最后列出。

命令返回示例

## Package Plan ##

    environment location: /Users/<USER>/opt/anaconda3/envs/test_env

    added / updated specs:
    - python=3.11

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    bzip2-1.0.8                |       h80987f9_5         129 KB  snakes
    ca-certificates-2023.12.12 |       hca03da5_0         127 KB  snakes
    libffi-3.4.4               |       hca03da5_0         120 KB  snakes
    ncurses-6.4                |       h313beb8_0         884 KB  quarantine
    openssl-3.0.13             |       h1a28f6b_0         5.0 MB  quarantine
    pip-23.3.1                 |  py311hca03da5_0         3.3 MB  quarantine
    python-3.11.8              |       hb885b13_0        15.5 MB  snakes
    readline-8.2               |       h1a28f6b_0         353 KB  snakes
    setuptools-68.2.2          |  py311hca03da5_0         1.2 MB  snakes
    sqlite-3.41.2              |       h80987f9_0         1.1 MB  quarantine
    tk-8.6.12                  |       hb8d0fd4_0         2.9 MB  snakes
    tzdata-2024a               |       h04d1e81_0         116 KB  snakes
    wheel-0.41.2               |  py311hca03da5_0         142 KB  quarantine
    xz-5.4.6                   |       h80987f9_0         372 KB  snakes
    zlib-1.2.13                |       h5a0b063_0          82 KB  quarantine
    ------------------------------------------------------------
                                   Total:        31.4 MB

The following NEW packages will be INSTALLED:

    bzip2              snakes/osx-arm64::bzip2-1.0.8-h80987f9_5
    ca-certificates    snakes/osx-arm64::ca-certificates-2023.12.12-hca03da5_0
    libffi             snakes/osx-arm64::libffi-3.4.4-hca03da5_0
    ncurses            quarantine/osx-arm64::ncurses-6.4-h313beb8_0
    openssl            quarantine/osx-arm64::openssl-3.0.13-h1a28f6b_0
    pip                quarantine/osx-arm64::pip-23.3.1-py311hca03da5_0
    python             snakes/osx-arm64::python-3.11.8-hb885b13_0
    readline           snakes/osx-arm64::readline-8.2-h1a28f6b_0
    setuptools         snakes/osx-arm64::setuptools-68.2.2-py311hca03da5_0
    sqlite             quarantine/osx-arm64::sqlite-3.41.2-h80987f9_0
    tk                 snakes/osx-arm64::tk-8.6.12-hb8d0fd4_0
    tzdata             snakes/noarch::tzdata-2024a-h04d1e81_0
    wheel              quarantine/osx-arm64::wheel-0.41.2-py311hca03da5_0
    xz                 snakes/osx-arm64::xz-5.4.6-h80987f9_0
    zlib               quarantine/osx-arm64::zlib-1.2.13-h5a0b063_0

DryRunExit: Dry run. Exiting.

quarantine 通道检索到的软件包是需要在策略过滤器中考虑例外的软件包。

从托管的 conda-forge 收到 403 错误#

原因

如果您已建立与 Anaconda 托管的 conda-forge 通道的连接,并且开始收到 403 错误(而最初没有收到),则可能是您最近重新颁发了自己的令牌。此问题源于新颁发的令牌没有获得先前令牌提供的权限。

您的 403 错误可能如下所示

Loading channels: failed

UnavailableInvalidChannel: HTTP 403 FORBIDDEN for channel conda-forge <https://repo.anaconda.cloud/repo/conda-forge>

The channel is not accessible or is invalid.

You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.
解决方案

要为新颁发的令牌提供 conda-forge 通道的权限,请导航到您组织的 令牌访问 页面,然后单击 同步令牌.