故障排除#
本页详细介绍了一些常见问题及其相应的解决方法。有关 Anaconda 安装或技术支持选项,请访问我们的支持服务页面。
提示
您可以使用浏览器的搜索功能在此页面中搜索信息:Ctrl+F (Windows)/Cmd+F (Mac)。
从 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
注意
snakes
和 quarantine
的顺序至关重要。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
通道的权限,请导航到您组织的 令牌访问 页面,然后单击 同步令牌.