Conda channels
What is a "conda channel"?
Conda channels are the locations where packages are stored.
They serve as the base for hosting and managing packages.
Conda packages are downloaded
from remote channels, which are URLs to directories
containing conda packages.
The conda
command searches a set of channels. By default,
packages are automatically downloaded and updated from
the default
channel https://repo.anaconda.com/pkgs/ which may require a
paid license, as described in the repository terms of service
a commercial license. The conda-forge
channel is free for all to use.
You can modify what remote channels are automatically searched.
You might want to do this to maintain a private or internal channel.
For details, see how to modify your channel lists.
We use conda-forge as an example channel. Conda-forge is a community channel made up of thousands of contributors. Conda-forge itself is analogous to PyPI but with a unified, automated build infrastructure and more peer review of recipes.
Specifying channels when installing packages
From the command line use --channel
$ conda install scipy --channel conda-forge
You may specify multiple channels by passing the argument multiple times:
$ conda install scipy --channel conda-forge --channel bioconda
Priority decreases from left to right - the first argument is higher priority than the second.
From the command line use --override-channels to only search the specified channel(s), rather than any channels configured in .condarc. This also ignores conda's default channels.
$ conda search scipy --channel file:/<path to>/local-channel --override-channels
In .condarc, use the key
channels
to see a list of channels for conda to search for packages.
Learn more about managing channels.
Conda clone channel RSS feed
We offer a RSS feed that represents all the things that have been cloned by the channel clone and are now available behind the CDN (content delivery network). The RSS feed shows what has happened on a rolling, two-week time frame and is useful for seeing where packages are or if a sync has been run.
Let's look at the conda-forge channel RSS feed as an example.
In that feed, it will tell you every time that it runs a sync. The feed includes other entries for packages that were added or removed. Each entry is formatted to show the subdirectory the package is from, the action that was taken (addition or removal), and the name of the package. Everything has a publishing date, per standard RSS practice.
<rss version="0.91">
<channel>
<title>conda-forge updates</title>
<link>https://anaconda.org</link>
<description>Updates in the last two weeks</description>
<language>en</language>
<copyright>Copyright 2019, Anaconda, Inc.</copyright>
<pubDate>30 Jul 2019 19:45:47 UTC</pubDate>
<item>
<title>running sync</title>
<pubDate>26 Jul 2019 19:26:36 UTC</pubDate>
</item>
<item>
<title>linux-64:add:jupyterlab-1.0.4-py36_0.tar.bz2</title>
<pubDate>26 Jul 2019 19:26:36 UTC</pubDate>
</item>
<item>
<title>linux-64:add:jupyterlab-1.0.4-py37_0.tar.bz2</title>
<pubDate>26 Jul 2019 19:26:36 UTC</pubDate>
</item>