conda-forge / miniforge

A conda-forge distribution.
https://conda-forge.org/miniforge
Other
5.99k stars 317 forks source link

why is conda forge the only channel #411

Closed inikishev closed 1 year ago

inikishev commented 1 year ago

Comment:

I dont get it, isn't it like an experimental channel? so we dont get access to libraries that are no longer experimental and moved to nomral channel? and Can i add normal channcel back to it?

hmaarrfk commented 1 year ago

This is a conda installer specific conda-forge. Thus we optimize it for usage with our channel.

Please see the conda documentation on how to add channels: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html

jdblischak commented 1 year ago

isn't it like an experimental channel?

I wanted to quickly clarify this point. Short answer: no, it is not an experimental channel

The relationship between the company Anaconda, Inc. and open source projects such as conda-forge can get confusing, especially since they are often intertwined. With respect to the available channels, here's the least you need to know:

Thus if all the software you need is available from "defaults", then you can install their miniconda distribution (which sets the only channel to "defaults"), and you never have to worry about conda-forge. However, if you need conda packages that are only available from conda-forge, you should install the miniforge distribution (or one if its variants) available from this repository (and avoid the incompatible "defaults" channel).

All of the above (and more) is also nicely summarized in the conda-forge docs A brief introduction

tdido commented 1 year ago
* The conda-forge and defaults channels [are not compatible](https://conda-forge.org/docs/user/tipsandtricks.html#using-multiple-channels) because they pin different versions of key dependencies (eg compilers)

I just wanted to observe for anyone stumbling upon this issue that the latest version of the linked page does indeed say that conda-forge and defaults are "...not 100% compatible...", but it also states that the incompatibility is solved by using strict channel priorities. Furthermore, it mentions the possibility of some potentially needed dependencies being present in defaults and not conda-forge.

jakirkham commented 1 year ago

Can you please share where it says that?

At this point conda-forge is entirely self-contained. So shouldn't need anything from defaults

jdblischak commented 1 year ago

Can you please share where it says that?

Go here and then scroll down to the "Note". The text is from a PR way back in 2019 (https://github.com/conda-forge/conda-forge.github.io/pull/766)

At this point conda-forge is entirely self-contained. So shouldn't need anything from defaults

@jakirkham 100% agreed. At least on Ubuntu, I haven't installed anything from defaults in years. The Note in the docs explicitly mentions libgcc-ng, which is available from conda-forge, so I think the Note needs to be edited or removed altogether

# my current setup to demo libgcc-ng installed from conda-forge
conda config --get channels
## --add channels 'bioconda'   # lowest priority
## --add channels 'conda-forge'   # highest priority
conda list libgcc
## # Name                    Version                   Build  Channel
## _libgcc_mutex             0.1                 conda_forge    conda-forge
## libgcc-ng                 13.1.0               he5830b7_0    conda-forge

it mentions the possibility of some potentially needed dependencies being present in defaults and not conda-forge.

@tdido thanks for reporting this discrepancy between what I wrote above and the current conda-forge documentation. This needs updating

tdido commented 1 year ago

That's excellent. Thank you for clarifying.

jakirkham commented 1 year ago

Gotcha ok. That's probably trickier to update since we are trying to show an example of using strict channel priority as well. Have an opened issue ( https://github.com/conda-forge/conda-forge.github.io/issues/1992 ) to discuss how we want to update these docs