Conda no solo es una herramienta poderosa para la creación y gestión de ambientes virtuales, sino que también ofrece comandos avanzados que pueden maximizar su eficiencia. Si ya dominas la creación de ambientes básicos, es hora de profundizar en funcionalidades avanzadas que pueden transformar tu flujo de trabajo.
¿Cómo crear un nuevo ambiente sin modificar el ambiente base?
Para mantener una buena práctica al trabajar con conda, es recomendable no modificar el ambiente base. En lugar de eso, crea un nuevo ambiente como se muestra a continuación:
conda create --name py39 python=3.9pandas=1.2
Este comando crea un nuevo ambiente llamado py39 con Python 3.9 y la versión 1.2 de pandas. Activarlo es simple:
conda activate py39
¿Qué hacer si no encuentras un paquete?
Instalar paquetes puede algunas veces ser complicado si no están disponibles en los canales de conda. Si intentas instalar un paquete y obtienes un error de paquete no encontrado, aquí tienes cómo proceder:
Explora otros canales: Visita la página de Anaconda y busca el paquete para ver en qué canales está disponible.
Instalar desde un canal específico:
Una vez identificado el canal, instala el paquete utilizando el siguiente comando:
Conda permite deshacer cambios en el ambiente regresando a una revisión anterior. Una revisión es el estado de tu ambiente en un punto en el tiempo, cada cambio realizado crea una nueva revisión.
Listar revisiones:
conda list --revisions
Esto te mostrará un historial de cambios en el ambiente. Puedes regresar a cualquier revisión específica.
Revertir el ambiente:
conda install --revision 0
Esto te lleva de vuelta al estado inicial del ambiente, eliminando cualquier paquete previamente instalado.
¿Cómo exportar un ambiente para compartirlo?
Crear y compartir ambientes con otros es una de las grandes ventajas de conda. Al exportar un ambiente, tus colegas o amigos podrán replicar exactamente tus configuraciones, evitando problemas de dependencias en sus sistemas.
Exportar un ambiente:
conda envexport --from-history > environment.yml
Este comando crea un archivo YML que contiene solo las dependencias específicas que has instalado manualmente.
Importación en otro sistema:
Si estás del otro lado y necesitas replicar el ambiente, utiliza:
conda env create --file environment.yml
Esto leerá el archivo y configurará el ambiente igual al de la máquina original.
¿Qué más puedes hacer con conda?
Explora al máximo las funcionalidades de conda; siéntete libre de jugar creando y eliminando ambientes. Practicar con estos comandos te ayudará a asimilar los conocimientos adquiridos. La próxima vez, podrás incluso acelerar los procesos utilizando Mamba, una alternativa que promete un rendimiento superior a conda.
Animamos a seguir experimentando con nuevas herramientas y a nunca dejar de aprender. Los avances en tus habilidades con conda son un paso más hacia una gestión de proyectos más eficiente y profesional.
Instalar paquete que no esta disponible en el canal principal de conda:
conda install -c [nombre_canal][nombre_paquete]
Enlistar las revisiones del estado del ambiente virtual:
conda list --revision
Volver al estado de una revisión anterior:
conda install --revision [nombre_revision]
Crear una descripción del ambiente con todas sus dependencia para compartir:
conda env export--no-builds
Crear una descripción del ambiente solo con los paquetes agregados manualmente (tiene la ventaja que permite mayor compatibilidad multiplataforma, daod que conda se encarga de instalar las dependencias especificas para los paquetes en el SO):
conda env export--from-history
Crear un archivo con la descripción(suele ser común en este tipo de archivos el formato .yml):
#Crear ambiente
conda create --name py39 python=3.9 pandas=1.2
#Ir al ambiente
conda activate py39
# Instalar boltons
conda install -c conda-forge boltons
#Devolver a un punto anterio y asi no tener que remover
conda list -r
#Devolverme a larevision 0
conda install --revision 0
#Revisar si esta instalado
conda list boltons
#Exportar tu ambiente
conda env export
#Exportar tu ambiente pero sin las versiones
conda env export --no-builds
#Exportar tu ambiente LA MEJOR
conda env export --from-history
#Exportar tu ambiente a un archivo
conda env export --from-history --file environment.yam
#Remover ambiente
conda env remove --name py39
#Importar el ambiente
conda env create --file environment.yaml
#Ir al ambiente
conda activate py39
buenardo ♥
tome su like buen joven
⌨ a mi me funciono usando el comando ⌨
conda install -c conda-forge boltons
Efectivamente, -c es un comando más corto de --channel
Notas :smile:
Conda: Comandos avanzados.
Para buscar paquetes:
Podemos encontrar algún paquete que necesitemos en un channel como conda-forge. 😯
conda install --channel <nombre del canal> <paquete> Para instalar un paquete especificando el channel de donde buscarlo.
conda list --revision para listar las revisiones (modificaciones) de tu ambiente; con esto puedes volver en el tiempo a un estado pasado de tu ambiente virtual.
conda install --revision <falg> para regresar a un estado pasado de tu ambiente. 🌲
conda env export --no-build Para compartir nuestro ambiente de conda y que otras personas puedan tener exactamente el mismo ambiente que tú.
Con conda env export --from-history --file <archivo>.yml para compartir únicamente los paquetes que hayamos especificado explícitamente. 🔍. Esta es la mejor manera!
Para instalar un ambiente del cual recibimos un archivo .yml hacemos conda env create --file <archivo>.yml 🤯
Gracias por compartir la información
Muchas gracias por el aporte.
Es increíble lo que se puede hacer con Conda la verdad 😮
Amigos les comparto el cheat sheet de anaconda
Gracias Carlita :)
gracias, pero estan en los 'recursos' de la clase.
y esta en pdf y no en varias fotos por aparte
Recordemos que en inges ambiente = environment. Por ello cuando Jesus dice env de ambiente en realidad esto seria env de environment.
Hago la aclaracion porque aun sabiendo me confundi.
Tip
Puedes abrir un link desde la terminal en una ventana nueva manteniendo ctrl y haciendo click sobre el link, en vez de copiarlo y pegarlo en tu navegador.
¡Genial!
Gracias!
Muchas gracias por el aporte :D
¿Cómo hago para instalar un paquete de pip en conda? Por ejemplo, tengo este https://github.com/vangj/py-bbn para crear redes bayesianas. Con pip install pybbn se instala bien, pero me pasa igual que con boltons. Conda no encuentra el paquete. Lo busco en https://anaconda.org/search?q=pybbn pero no sale nada.
¡Hola Daniel! ¡Excelente pregunta! 💚
Una liga de interés. 😋
Hay varias formas, aquí dejo dos:
Cuando instalas python con conda, por lo general, esta ya incluye pip en la instalación, por lo que en la terminal podrías simplemente escribir pip install pybbn.
Si quieres estar seguro de que es el pip de conda y no el general, puedes verificarlo con el comando which pip. El resultado debería lucir como /Users/jvelezmagic/anaconda3/bin/pip.
Podrías utilizar una definición de ambiente, es decir, especificando que requieres un paquete de pip en el archivo environment.yml.
Ejemplo:
Dentro de tu archivo de ambiente - environment-yml