This guide explains what is
conda-forge channel, how to install packages from
conda-forge and finally how to permanently enable
conda-forge channel for
conda package manager from commandline as well as from Anaconda Navigator GUI in Linux.
What is conda-forge?
By default, the
conda package manager installs packages from the
defaults channel. All packages in the
defaults channel are thoroughly tested and maintained by the Conda team from Anaconda, Inc. Apart from the official
defaults channel, there are some third-party channels available for hosting and managing packages. One such channel is
conda-forge. Conda-forge is community-led channel that provides latest conda packages for a wide-range of software.
defaults channel may not always contain all packages. There could be some missing packages or it may contain outdated packages. The
conda-forge community tackles these issues by maintaining up-to-date packages with the help of thousands of contributors.
Conda-forge project is financially supported by NumFOCUS, a non-profit dedicated to support open source scientific computing community.
Install packages from conda-forge channel
It is possible to install packages from a specific channel without adding it in our system. Let us see an example.
It is recommended to always install packages from
conda-forge channel in a new environment instead of the default
The following command will create a new environment named testapp and install pandas along with its supporting packages in the testapp environment:
$ conda create --channel conda-forge --name testapp pandas
$ conda create -c conda-forge -n testapp pandas
--channel) flag is used to explicitly mention the channel name i.e.
conda-forge in our case.
Activate the newly created "testapp" environment:
$ conda activate testapp
Check the origin of all installed packages in the environment:
$ conda list packages in environment at /home/sk/anaconda3/envs/testapp: # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 1_gnu conda-forge ca-certificates 2020.12.5 ha878542_0 conda-forge certifi 2020.12.5 py39hf3d152e_1 conda-forge ld_impl_linux-64 2.35.1 hea4e1c9_2 conda-forge libblas 3.9.0 8_openblas conda-forge libcblas 3.9.0 8_openblas conda-forge libffi 3.3 h58526e2_2 conda-forge libgcc-ng 9.3.0 h2828fa1_18 conda-forge libgfortran-ng 9.3.0 hff62375_18 conda-forge libgfortran5 9.3.0 hff62375_18 conda-forge libgomp 9.3.0 h2828fa1_18 conda-forge liblapack 3.9.0 8_openblas conda-forge libopenblas 0.3.12 pthreads_h4812303_1 conda-forge libstdcxx-ng 9.3.0 h6de172a_18 conda-forge ncurses 6.2 h58526e2_4 conda-forge numpy 1.20.1 py39hdbf815f_0 conda-forge openssl 1.1.1j h7f98852_0 conda-forge pandas 1.2.2 py39hde0f152_0 conda-forge pip 21.0.1 pyhd8ed1ab_0 conda-forge python 3.9.1 hffdb5ce_5_cpython conda-forge python-dateutil 2.8.1 py_0 conda-forge python_abi 3.9 1_cp39 conda-forge pytz 2021.1 pyhd8ed1ab_0 conda-forge readline 8.0 he28a2e2_2 conda-forge setuptools 49.6.0 py39hf3d152e_3 conda-forge six 1.15.0 pyh9f0ad1d_0 conda-forge sqlite 3.34.0 h74cdb3f_0 conda-forge tk 8.6.10 h21135ba_1 conda-forge tzdata 2021a he74cb21_0 conda-forge wheel 0.36.2 pyhd3deb0d_0 conda-forge xz 5.2.5 h516909a_1 conda-forge zlib 1.2.11 h516909a_1010 conda-forge
As you see in the above output, all packages are installed from the
If you don't want to create new environment but install packages in the existing active environment, run:
$ conda install --channel conda-forge pandas
This command will install pandas package from the
conda-forge channel in the existing environment.
Let us verify if the
conda-forge channel is added by using nay one of the following methods:
$ conda info
This command displays the details of currently active conda environment, including the channels.
[...] channel URLs : 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 [...]
If you want to show only the channels, use this command:
$ conda config --show channels
channels: - defaults
To show the default channels only, run:
$ conda config --show default_channels
default_channels: - https://repo.anaconda.com/pkgs/main - https://repo.anaconda.com/pkgs/r
As you see in the above outputs,
conda-forge is not added. We've only installed the packages from the
conda-forge channel, but we didn't add it yet.
Now let us go ahead and add or enable
conda-forge channel permanently.
Enable conda-forge channel for conda package manager in Linux
As stated already, we can add or enable
conda-forge channel either from commadline or from Anaconda Navigator graphical user interface. First, we will see the commanline way.
1. Add conda-forge channel from commandline
conda-forge channel, run the following command from the Terminal:
$ conda config --add channels conda-forge
As stated earlier,
conda installs the packages from the
defaults channel unless you explicitly tell it to install packages from a specific channel.
To install packages always from
conda-forge, set higher priority to
conda-forge channel using command:
$ conda config --set channel_priority strict
channel_priority strict option will place
conda-forge channel on top of
defaults channel and ensure that all the dependencies will come from the
conda-forge channel unless they exist only on
conda-forge channel is added using command:
$ conda config --show channels channels: - conda-forge - defaults
Did you notice?
conda-forge is placed on the top of
Now you can normally install any package on your environment without explicitly mentioning the channel like below:
$ conda install pandas
The package will always be downloaded from the
Just in case, if the package or its dependencies are not available in
conda-forge, they will be downloaded from
Like I already mentioned, it is recommended to always install packages on a new environment instead of the default
base environment. This way you can avoid package conflicts and maintain a clean
Adding channels via command line is not a big deal. However, some of you prefer the graphical way to get things done. The following section explains how to enable
conda-forge channel from Anaconda Navigator GUI.
2. Add conda-forge channel from Anaconda Navigator
Launch Anaconda Navigator using command:
Click Channels button:
Click Add button:
conda-forge channel URL -
https://conda.anaconda.org/conda-forge/. Press ENTER key to update the Channel list.
Finally click Update channels button to enable conda-forge channel.
Hope this helps.