La respuesta corta es que, en mi experiencia en general, no importa cuál uses.
La respuesta larga:
Entonces, conda-forge
es un canal adicional desde el cual se pueden instalar paquetes. En este sentido, no es más especial que el canal predeterminado, o cualquiera de los otros cientos (¿miles?) De canales en los que la gente ha publicado paquetes. Puede agregar su propio canal si se registra en https://anaconda.org y carga sus propios paquetes de Conda.
Aquí tenemos que hacer la distinción, que creo que no está claro por su formulación en la pregunta, entre conda
el administrador de paquetes multiplataforma y conda-forge
el canal de paquetes. Anaconda Inc. (anteriormente Continuum IO), los principales desarrolladores del conda
software, también mantienen un canal separado de paquetes, que es el valor predeterminado cuando escribe conda install packagename
sin cambiar ninguna opción.
Hay tres formas de cambiar las opciones para los canales. Los dos primeros se realizan cada vez que instala un paquete y el último es persistente. El primero es especificar un canal cada vez que instala un paquete:
conda install -c some-channel packagename
Por supuesto, el paquete tiene que existir en ese canal. De esta manera se instalará packagename
y todas sus dependencias de some-channel
. Alternativamente, puede especificar:
conda install some-channel::packagename
El paquete todavía tiene que existir some-channel
, pero ahora, solo packagename
se extraerá de él some-channel
. Se buscará cualquier otro paquete que sea necesario para satisfacer las dependencias de su lista predeterminada de canales.
Para ver la configuración de su canal, puede escribir:
conda config --show channels
Puede controlar el orden en que se buscan los canales conda config
. Puedes escribir:
conda config --add channels some-channel
para agregar el canal some-channel
al principio de la channels
lista de configuración. Esto le da some-channel
la más alta prioridad. La prioridad determina ( en parte ) qué canal se selecciona cuando más de un canal tiene un paquete en particular. Para agregar el canal al final de la lista y darle la prioridad más baja, escriba
conda config --append channels some-channel
Si desea eliminar el canal que agregó, puede hacerlo escribiendo
conda config --remove channels some-channel
Ver
conda config -h
Para más opciones.
Dicho todo esto, hay cuatro razones principales para usar el conda-forge
canal en lugar del defaults
canal mantenido por Anaconda:
- Los paquetes
conda-forge
pueden estar más actualizados que los del defaults
canal.
- Hay paquetes en el
conda-forge
canal que no están disponibles endefaults
- Preferiría usar una dependencia como
openblas
(desde conda-forge
) en lugar de mkl
(desde defaults
).
- Si está instalando un paquete que requiere una biblioteca compilada (por ejemplo, una extensión C o un contenedor alrededor de una biblioteca C), puede reducir la posibilidad de incompatibilidades si instala todos los paquetes en un entorno desde un solo canal debido a un binario compatibilidad de la biblioteca base C (pero este consejo puede estar desactualizado / cambiar en el futuro).
conda
es un administrador de paquetes yconda-forge
es un canal. Tal vez era cierto cuando se hizo esta pregunta?