Instalar Conda le permitirá crear y eliminar entornos de Python como desee, por lo tanto, le proporcionará la misma funcionalidad que virtualenv .
En el caso de ambas distribuciones, podría crear un árbol de sistema de archivos aislado, donde puede instalar y eliminar paquetes de Python (probablemente, con pip) como desee. Lo que puede ser útil si desea tener diferentes versiones de la misma biblioteca para diferentes casos de uso o simplemente desea probar alguna distribución y eliminarla luego para conservar su espacio en disco.
Diferencias:
Acuerdo de licencia. Si bien virtualenv se encuentra bajo la licencia MIT más liberal , Conda usa una licencia BSD de 3 cláusulas.
Conda le proporciona su propio sistema de control de paquetes. Este sistema de control de paquetes a menudo proporciona versiones precompiladas (para la mayoría de los sistemas populares) de software popular que no es Python, lo que puede facilitar el funcionamiento de algunos paquetes de aprendizaje automático. Es decir, no tiene que compilar código C / C ++ optimizado para su sistema. Si bien es un gran alivio para la mayoría de nosotros, podría afectar el rendimiento de dichas bibliotecas.
A diferencia de virtualenv, Conda duplica algunas bibliotecas del sistema al menos en el sistema Linux. Estas bibliotecas pueden desincronizarse y provocar un comportamiento inconsistente de sus programas.
Veredicto:
Conda es excelente y debería ser tu opción predeterminada al comenzar tu camino con el aprendizaje automático. Le ahorrará algo de tiempo jugando con gcc y numerosos paquetes. Sin embargo, Conda no reemplaza virtualenv. Introduce una complejidad adicional que no siempre es deseable. Viene bajo licencia diferente. Es posible que desee evitar el uso de conda en entornos distribuidos o en hardware HPC.