Troubleshooting#

This page details some common issues and their respective workarounds. For Anaconda installation or technical support options, visit our support offerings page.

Conda: Channel is unavailable/missing or package itself is missing#

Cause#

After you have configured your .condarc on either the Pro or Business tier, in some cases you may be unable to install packages. You may receive an error message that the channel or package is unavailable or missing.

Solution#

One potential fix for all of these is to run the following command:

conda clean -i

This will clear the “index cache” and force conda to sync metadata from the repo server.

403 error#

Cause#

A 403 errors is a generic Forbidden error issued by a web server in the event the client is forbidden from accessing a resource.

The 403 error you are receiving may look like the following:

Collecting package metadata (current_repodata.json): failed

UnavailableInvalidChannel: The channel is not accessible or is invalid.
  channel name: pkgs/main
  channel url: https://repo.anaconda.com/pkgs/main
  error code: 403

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.
There are several reasons a 403 error could be received:

There are a few possible reasons for receiving this error:

  • The user has misconfigured their channels in their configuration (for example, the secure location where the token is stored was accidentally deleted (most common)

  • A firewall or other security device or system is preventing user access (second most common)

  • We are blocking their access because of a potential terms of service violation (third most common)

Solution#

  1. First, run the following to undo your configuration:

    conda config --remove-key default_channels
    
  2. Next, install or upgrade the conda-token tool:

    conda install --freeze-installed conda-token
    
  3. Lastly, re-apply the token and configuration settings:

    # Replace <TOKEN> with your token
    conda token set <TOKEN>
    

If this doesn’t resolve the issue, Anaconda recommends consulting our Terms of Service error page.

HTTP 000 CONNECTION FAILED#

If you receive this error message, first run the following command:

conda config --set ssl_verify false

Then, run the following to install conda-token:

conda install conda-token -n base

Lastly, run the following to ensure the token verification step ignores SSL errors:

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

You may see the following warning, though this is to be expected:

/Users/<USER_NAME>/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,

Environment creation failing due to policy filter#

Cause#

Implementing strict policy filters with no exceptions can cause essential package dependencies to be filtered out of your repository. Without these packages, commands like conda create --name <ENV_NAME> python=3.10 will fail.

If you are attempting to create a new environment, but your build is failing due to package conflicts or unavailable packages, it’s likely due to your IT team’s strict policy filter. You can request that package exceptions can be added to a policy filter, but you’ll need to know which packages are causing problems first.

Solution#

To perform this test, you’ll need a channel that has no policy filter applied to it. Create the channel in your organization and name it quarantine. Once created, add it to your .condarc file. For help adding a channel to your .condarc file, see Channels.

With your quarantine channel created and added to your .condarc file, you can run the following command:

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

Note

If you have your channel alias set in your .condarc, you can use just the channel name with the -c (channel) argument. If you do not, you can use the full channel URL. You can copy the channel URL from your Channels page. For more information on setting your channel alias, see Using the .condarc conda config file.

For example, if you are trying to test building an environment from the snakes channel, the command would be:

conda create --name test_environment -c snakes -c quarantine python=3.10 --dry-run

Caution

The ordering of snakes and quarantine is essential. Conda will attempt to solve the environment in the order the channels are listed, so quarantine must be listed last.

Your return will look like this:

## Package Plan ##

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

    added / updated specs:
      - python=3.10

The following packages will be downloaded:

   package                    |            build
   ---------------------------|-----------------
   openssl-1.1.1t             |       hca72f7f_0         3.3 MB  quarantine
   pip-23.0.1                 |  py310hecd8cb5_0         2.6 MB  quarantine
   python-3.10.11             |       h218abb5_2        13.1 MB  quarantine
   setuptools-66.0.0          |  py310hecd8cb5_0         1.2 MB  snakes
   sqlite-3.41.2              |       h6c40b1e_0         1.2 MB  snakes
   tzdata-2023c               |       h04d1e81_0         116 KB  snakes
   wheel-0.38.4               |  py310hecd8cb5_0          66 KB  snakes
   xz-5.4.2                   |       h6c40b1e_0         372 KB  snakes
  ------------------------------------------------------------
                                         Total:        22.0 MB

The following NEW packages will be INSTALLED:

    bzip2              snakes/osx-64::bzip2-1.0.8-h1de35cc_0
    ca-certificates    snakes/osx-64::ca-certificates-2023.01.10-hecd8cb5_0
    libffi             snakes/osx-64::libffi-3.4.2-hecd8cb5_6
    ncurses            snakes/osx-64::ncurses-6.4-hcec6c5f_0
    openssl            quarantine/osx-64::openssl-1.1.1t-hca72f7f_0
    pip                quarantine/osx-64::pip-23.0.1-py310hecd8cb5_0
    python             quarantine/osx-64::python-3.10.11-h218abb5_2
    readline           snakes/osx-64::readline-8.2-hca72f7f_0
    setuptools         snakes/osx-64::setuptools-66.0.0-py310hecd8cb5_0
    sqlite             snakes/osx-64::sqlite-3.41.2-h6c40b1e_0
    tk                 snakes/osx-64::tk-8.6.12-h5d9f67b_0
    tzdata             snakes/noarch::tzdata-2023c-h04d1e81_0
    wheel              snakes/osx-64::wheel-0.38.4-py310hecd8cb5_0
    xz                 snakes/osx-64::xz-5.4.2-h6c40b1e_0
    zlib               snakes/osx-64::zlib-1.2.13-h4dc903c_0

DryRunExit: Dry run. Exiting.

Packages that were retrieved from the quarantine channel are the packages that need to be considered for exceptions in the policy filter.