Reputation: 20117
For instance, say I want to install the bioconda package gapfiller
.
conda new -n gapfiller -c bioconda -c conda-forge gapfiller
If I run the above command, I get the following error:
PackagesNotFoundError: The following packages are not available from current channels:
- boost[version='>=1.57.0,<1.57.1.0a0']
Current channels:
- https://conda.anaconda.org/bioconda/linux-64
- https://conda.anaconda.org/bioconda/noarch
- https://conda.anaconda.org/conda-forge/linux-64
- https://conda.anaconda.org/conda-forge/noarch
- https://repo.anaconda.com/pkgs/main/linux-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/linux-64
- https://repo.anaconda.com/pkgs/r/noarch
At this point, what is the next step I should take to determine which channel I need to start including?
I've tried looking at the meta.yml
for the package, but that only lists the packages that gapfiller
depends on, not the channels that they can be found in. I've also tried conda search boost
, but of course that only returns (incompatible) results in my current channels, it doesn't tell me how to find new channels:
$ conda search boost
Loading channels: done
# Name Version Build Channel
boost 1.65.1 py27_4 pkgs/main
boost 1.65.1 py27h0eb07c9_3 pkgs/main
boost 1.65.1 py35_4 pkgs/main
boost 1.65.1 py35heb9229b_3 pkgs/main
boost 1.65.1 py36_4 pkgs/main
boost 1.65.1 py36hfaba7b9_3 pkgs/main
boost 1.67.0 py27_4 pkgs/main
boost 1.67.0 py35_4 pkgs/main
boost 1.67.0 py36_4 pkgs/main
boost 1.67.0 py37_4 pkgs/main
boost 1.71.0 py38_0 pkgs/main
How can I determine the right channel to use to solve a PackagesNotFoundError
?
Upvotes: 2
Views: 1093
Reputation: 76740
Often, when it comes to old package versions, they got relegated to the free channel which was taken off the defaults metachannel last year. There are a few ways to add it back in (e.g., config setting restore_free_channel
or env variable CONDA_RESTORE_FREE_CHANNEL
), but a straightforward ad hoc solution is to include it as a one of the channels:
conda install -c free ...
For boost=1.57
on linux-64 platform, I see
conda search -c free boost=1.57[subdir='linux-64']
Loading channels: done
# Name Version Build Channel
boost 1.57.0 0 free
boost 1.57.0 1 free
boost 1.57.0 4 free
Upvotes: 2