2

I'm trying to install Nvidia's GPU python packages via conda package distribution, but I'm running into the following errors:

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

  - pyculib

Current channels:

  - 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

What is the correct distribution channel for CuPy and pyculib packages?

not2qubit
  • 14,531
  • 8
  • 95
  • 135
Mr.Drew
  • 939
  • 2
  • 9
  • 30

2 Answers2

5

pyculib is collected in the free channel. But the free channel is remove in conda 4.7.

Quote from Why We Removed the “Free” Channel in Conda 4.7

One of the changes we made in Conda 4.7 was the removal of a software collection called “free” from the default channel configuration. The “free” channel is our collection of packages prior to the switch in recipes/compilers that we did for the Anaconda Distribution 5.0 release.

Solution: re-enable free channel.

  1. Enable free channel globally.

    conda config --set restore_free_channel true
    conda install pyculib
    
  2. Enable free channel for current active environment only.

    conda config --set restore_free_channel true --env
    conda install pyculib
    
  3. Temporary use free channel in a single command.

    CONDA_RESTORE_FREE_CHANNEL=1 conda install pyculib
    
Simba
  • 23,537
  • 7
  • 64
  • 76
3

Numba channel

Another option is to get this from the numba channel (they were the maintaining organization after all):

conda install -n my_env -c numba pyculib

The slight advantage to this is that Numba maintained pyculib out to NumPy 1.15, whereas the versions on the anaconda channel can at most run with NumPy 1.13.

As for CuPy, that is directly available on the anaconda channel and since it is actively maintained (unlike pyculib) you shouldn't need the free channel to access it.

merv
  • 67,214
  • 13
  • 180
  • 245
  • Good solution for older pythons. However, if you're Py3.8 you'll get an error. – not2qubit Apr 23 '20 at 22:03
  • 1
    @not2qubit but Python 3.8 came out after the **free** channel deprecation, so it shouldn't even be an issue. Also, if working in Python 3.8, one should [switch to `CuPy` as the maintainers recommend](https://github.com/numba/pyculib#readme). The answers here are really more for running legacy code. – merv Apr 24 '20 at 01:50