Explanation of different conda channels
What are the major conda channels, and what are their focuses? I can't seem to find any documentation on what major channels are available and when to choose one over the other. What is the relationship to the "default" channel? How does one decide what order to put them in? In general, I use
anaconda
conda_forge
r
bioconda
defaults
But I've been running into some problems with my environment breaking.
Solution 1:
- anaconda
- conda-forge
- r
- bioconda
These are all channels from which packages can be installed. They are not anymore special than the default channel. You can even create your own channel on Anaconda Cloud to host packages.
What are the major conda channels, and what are their focuses? I can't seem to find any documentation on what major channels are available and when to choose one over the other.
Is there any specific conda package you want to install that is not available on the default channel. Then you can search for that package and see the channel on which it is hosted and likewise add that channel to install the package. Otherwise there is really no need to add other channels.
How does one decide what order to put them in?
The bioconda channel is a Conda channel providing bioinformatics related packages for Linux and Mac OS.. So if you require to use bioinformatics packages then you could rank it higher. As for the other channels such as conda-forge
it is not special from any of the other thousands of channels on which packages are hosted. If you frequently download packages that are hosted on conda-forge
but not on defaults
then you can give it a higher priority. Otherwise there might not even be a need for the conda-forge channel.
Solution 2:
It would be useful to have an index for the "best of" public conda channels but no one seems to have tackled that project yet. When someone does take that on (perhaps you?), Wikipedia might be a better place than SO, which traditionally doesn't favour "lists of" because they are rarely kept up to date. In the meantime to get things started:
Two of the channels you mention are part of the ten official repos and described at https://docs.anaconda.com/anaconda/user-guide/tasks/using-repositories/:
anaconda - anaconda.org - a mirror of the packages available in main, free, and pro hosted on repo.anaconda.com
R - Microsoft R Open conda packages and Anaconda, Inc.’s R conda packages. This channel is included in conda’s “defaults” channel. When creating new environments, MRO is now chosen as the default R implementation.
Community led and not part of the Anaconda corp umbrella:
bioconda - specializing in bioinformatics software
conda-forge - A community led collection of recipes, build infrastructure and distributions for the conda package manager.