Why -c conda-forge?
When you looking for tutorials on how to install things with conda, you might have came across commands like this:
conda install -c conda-forge package_names
Sometimes you wonder what is the -c conda-forge parameter do? What happens if I just use the default setting and conda install package_names?
Sometimes you try it, and it works just fine. So why the extra parameter?
This might help you understand it:
The conda install -c parameter lets you choose the 'channel' where packages are installed from. A 'channel' is where packages are stored on the internet, aka where your computer downloads the package from when you conda install.
The default channel (when you use conda install without the -c parameter) is anaconda, and conda install -c conda-forge uses the conda-forge channel. And there are many other channels you can use, you can even build your own.
But what's the difference between anaconda channel and conda-forge channel?
From what I've gathered in stackoverflow and reddit, it doesn't really matter much which ones you use. There are some differences:
conda-forge is maintained by the community while anaconda is maintained by Anaconda Inc. They may charge commercial users for using anaconda channel
conda-forge is sometimes more up-to-date with packages and have more packages available
And these are the differences. I would stick with -c conda-forge.