Saltar al contenido

Razones específicas para favorecer pip frente a conda al instalar paquetes de Python

Solución:

Encuentro que uso conda primero simplemente porque instala el binario, luego intento pip si el paquete no está allí. Por ejemplo, psycopg2 es mucho más fácil de instalar en conda que en pip.

https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

Pip, que significa Pip Installs Packages, es el administrador de paquetes autorizado oficialmente por Python y se usa más comúnmente para instalar paquetes publicados en el índice de paquetes de Python (PyPI). Tanto pip como PyPI están regidos y respaldados por Python Packaging Authority (PyPA).

En resumen, pip es un administrador de propósito general para paquetes de Python; conda es un gestor de entornos multiplataforma independiente del lenguaje. Para el usuario, la distinción más destacada es probablemente la siguiente: pip instala paquetes de Python en cualquier entorno; conda instala cualquier paquete dentro de entornos conda. Si todo lo que está haciendo es instalar paquetes de Python dentro de un entorno aislado, conda y pip + virtualenv son en su mayoría intercambiables, modulo alguna diferencia en el manejo de dependencias y la disponibilidad de paquetes. Por entorno aislado me refiero a un conda-env o virtualenv, en el que puede instalar paquetes sin modificar la instalación de Python de su sistema.

Si nos centramos solo en la instalación de paquetes de Python, conda y pip sirven a diferentes audiencias y diferentes propósitos. Si desea, por ejemplo, administrar paquetes de Python dentro de una instalación de Python del sistema existente, conda no puede ayudarlo: por diseño, solo puede instalar paquetes dentro de entornos conda. Si desea, por ejemplo, trabajar con los muchos paquetes de Python que dependen de dependencias externas (NumPy, SciPy y Matplotlib son ejemplos comunes), mientras rastrea esas dependencias de una manera significativa, pip no puede ayudarlo: por diseño, administra los paquetes de Python y solo los paquetes de Python.

Conda y pip no son competidores, sino herramientas enfocadas a diferentes grupos de usuarios y patrones de uso.

Nota: Las siguientes recomendaciones ahora forman parte de la documentación oficial.


¿Cuál es la sabiduría actual (2019) sobre cuándo instalar algo con conda vs. pip?

Jonathan Helmus de Anaconda Inc resume esto bastante bien en la publicación “Uso de Pip en un entorno Conda. “Aquí hay un extracto de la recomendación final de mejores prácticas:

Lista de verificación de mejores prácticas

Usar pip Solo después conda

  • instalar tantos requisitos como sea posible con conda, luego usa pip
  • pip debe ejecutarse con --upgrade-strategy "only-if-needed" (el valor por defecto)
  • No utilice pip con el --user argumento, evitar todas las instalaciones de “usuarios”

Utilice entornos Conda para el aislamiento

  • crear un entorno Conda para aislar cualquier cambio pip marcas
  • los entornos ocupan poco espacio gracias a los enlaces duros
  • Se debe tener cuidado para evitar correr pip en el raíz [base] medio ambiente

Recrear el entorno si se necesitan cambios

  • una vez pip ha sido usado conda no se dará cuenta de los cambios
  • para instalar paquetes adicionales de Conda, es mejor recrear el entorno

Tienda conda y pip requisitos en archivos de texto

  • los requisitos del paquete se pueden pasar a conda mediante el --file argumento
  • pip acepta una lista de paquetes de Python con -r o --requirements
  • conda env exportará o creará entornos basados ​​en un archivo con conda y pip requisitos

Esto es lo que hago:

  1. Activa tu env virutal conda
  2. Use pip para instalar en su entorno virtual
  3. Si tiene problemas de compatibilidad, use conda

Recientemente me encontré con esto cuando numpy / matplotlib se asustó y usé la compilación conda para resolver el problema.

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



Utiliza Nuestro Buscador

Deja una respuesta

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