Search code examples
pythondatatableanacondacondachannel

Python install datatable in anaconda failed


I'm trying to install datatable package through Anaconda with the following command:

conda install -c conda-forge datatable

It gave me error

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - datatable

Current channels:

  - https://conda.anaconda.org/conda-forge/win-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

I search datatable in anaconda.org, but seem like the channel that contain datatable is conda-forge.

So I blindly add some random channel to see if it work:

conda config --add channels keras
conda config --add channels pickle
conda config --add channels nltk

Now I can't even access to conda-forge

conda install -c conda-forge datatable

Collecting package metadata (current_repodata.json): failed

UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel keras <https://conda.anaconda.org/keras>

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 config --show channels
channels:
  - nltk
  - pickle
  - keras
  - defaults

Solution

  • The package entries on Anaconda Cloud list what platforms for which a particular package is available, and datatable currently only has osx-64 and linux-64. If you would like the Conda Forge feedstock to build win-64 versions (OP's platform), then file an Issue requesting this, or add it to the recipe with a PR.

    Otherwise, please do not randomly add channels to your configuration. Packages are not necessarily compatible across channels, so one needs to be very specific with what channels are added to configuration. Also, Anaconda Cloud lets anyone create channels, so you should be much more cautious about what channels are trustworthy. OP seems to be randomly adding channels based on common Python package names - that's not a thing! I recommend cleaning up your .condarc to remove those channels.