Saltar al contenido

¿Debería usarse conda o conda-forge para entornos de Python?

Javier, miembro de este gran equipo de trabajo, nos hizo el favor de escribir esta crónica porque domina a la perfección el tema.

Solución:

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á clara por su forma de expresar la pregunta, entre condael administrador de paquetes multiplataforma, y conda-forge, el canal del paquete. Anaconda Inc. (anteriormente Continuum IO), los principales desarrolladores de la conda software, también mantenga 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 de 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 en some-channelpero ahora, sólo packagename será sacado de some-channel. Cualquier otro paquete que sea necesario para satisfacer las dependencias se buscará en su lista predeterminada de canales.

Para ver la configuración de tu canal, puedes escribir:

conda config --show channels

Puede controlar el orden en que se buscan los canales con conda config. Puedes escribir:

conda config --add channels some-channel

para agregar el canal some-channel a la cima de la channels lista de configuración Esto da some-channel la máxima 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:

  1. Paquetes en conda-forgemayo estar más actualizados que los del defaults canal
  2. Hay paquetes en el conda-forge canal que no está disponible en defaults
  3. Preferiría usar una dependencia como openblas (desde conda-forge) en lugar de mkl (desde defaults).
  4. Si está instalando un paquete que requiere una biblioteca compilada (por ejemplo, una extensión de C o un contenedor alrededor de una biblioteca de C), mayo reduzca la posibilidad de incompatibilidades si instala todos los paquetes en un entorno desde un solo canal debido a la compatibilidad binaria de la biblioteca base C (pero este consejo puede estar desactualizado/cambiar en el futuro).

Anaconda ha cambiado sus Términos de servicio para que los “usuarios comerciales pesados” tengan que pagar, lo que no incluye conda-forge canal.

Probablemente querrás apegarte a conda-forge si no desea pagar por el uso. Como se indica en los documentos:

conda config --add channels conda-forge
conda config --set channel_priority strict
conda install 

También puede usar miniforge que tiene conda-forge como canal por defecto, y soporta las plataformas ppc64le y aarch64 además de las demás habituales.

Si usted tiene conda instalado y le gustaría eliminar los canales predeterminados, puede usar

conda config --show channels

para ver sus canales y puede usar

conda config --remove channels channel-name

para eliminar un canal.

El canal conda-forge es donde puede encontrar paquetes que se han creado para conda pero que aún no forman parte de la distribución oficial de Anaconda.

En general, puedes usar cualquiera de ellos.

valoraciones y reseñas

Si conservas alguna vacilación y forma de avanzar nuestro reseña te recomendamos ejecutar una referencia y con mucho placer lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *