Ha llegado el momento de utilizar los lenguajes de programación inteligentemente.
Imaginemos que por alguna razón, algún genio informático ha diseñado un código para predecir la bolsa de valores.
Como el genio informático no tiene mucha idea de lo que ha hecho es algo grande, ha decidido publicarlo en alguna parte (Drive, GitHub, etc).
Nosotros, curiosos como siempre, hemos decidido darle un vistazo a su código y por qué no, ejecutarlo.
Sin embargo, existe un gran problema:
¡La sintáxis del código está escrita en versiones anteriores de Python (3.5 por ejemplo) y nosotros poseemos la version 3.7.6 en nuestro ambiente de Jupyter!
El secreto detrás de la creación de ambientes de trabajo es poder ejecutar ese trabajo que otras personas han hecho en el pasado y poder obtener sus resultados
¡Good News!
Para comenzar a programar en serio, es necesario usar la consola que viene con Anaconda.
Es fundamental para instalar paquetes y crear ambientes, iniciar como Administrador
Notemos el (base) antes de la ruta (path) en el computador.
Este (base) representa nuestro ambiente base instalado en el PC por defecto que hace Anaconda.
Al ejecutar el comando
conda list
Podremos observar todos los paquetes instalados por defecto (150+), útiles para hacer cálculos científicos y muchos otros fines.
conda es el manejador de paquetes de Anaconda (Siendo Anaconda el Software)
Usaremos con mucha frecuencia el comando conda
de aquí en adelante.
Ejecutamos los siguientes comandos:
conda update conda
conda update anaconda
para ver qué paquetes con mejoras están disponibles a tiempo real.
No es necesario hacer este paso, pero es una buena práctica de programación.
Crear un nuevo ambiente de trabajo es tan fácil como ejecutar
conda create -n myenv
donde myenv es el nombre que uno quiere darle a dicho ambiente.
-n es un shortcut para decir name (también se puede usar --name)
Ejemplo:
conda create -n clase
Pedirá confirmación del usuario para crear el ambiente.
Para visualizar los ambientes disponibles, se debe ejecutar
conda env list
(env = environment = ambiente)
En este caso, podemos ver que están disponibles tres ambientes de trabajo:
Para activar un ambiente de trabajo, se ejecuta
conda activate myenv
Para desactivar el ambiente se ejecuta
conda deactivate
Ejemplo:
Podemos ver como se cambia de (base) a (clase) y luego se desactiva y se vuelve a (base)
Veamos que hay dentro del ambiente (clase):
Como no hemos pedido que instale ningún paquete, éste ambiente está vacío.
Vamos entonces a agregar unas cuantas cosas.
Es importante hacer esto, sobre todo cuando se hacen proyectos profesionales.
Queremos administrar versiones compatibles de paquetes, ya sean anteriores o nuevas, para poder ejecutar cualquier tipo de código existente en la Web.
Para instalar un paquete en un ambiente de trabajo, debemos activarlo y usar el comando conda install pkgname
(pkgname = nombre del paquete):
Ejemplo
conda activate clase
conda install python=3.5 -y
-y es un shortcut para no pedir confirmación del usuario (algo parecido a "yes, you will!" )
Ahora podemos ver los nuevos paquetes instalados en el nuevo ambiente de trabajo:
La idea detrás de los ambientes de trabajo es poder tener una alternativa a la configuración por default que tiene Anaconda.
Si algo llegase a fallar en el (base) por algún paquete que instalemos mal, es muy posible que toque reinstalar todo el software de Anaconda desde cero, lo cual es bastante largo en Windows.
En cambio, si tenemos un ambiente separado del (base) y lo dañamos, podremos eliminarlo facilmente sin afectar al (base), ejecutando
conda env remove --name myenv -y
Esto es una manera bastante inteligente de trabajar con software.
Muchos lenguajes cerrados de programación no tienen estas opciones, por lo que si falla algo interno, es necesario llamar a soporte y esperar un buen tiempo a que se solucione el problema.
En algunas ocasiones, se tendrá que esperar a que se realice una nueva versión del programa.
Crear un ambiente llamado tf2 que contenga jupyter, jupyterlab y tensorflow.
¿Qué versión de Python es implicada por la instalación?, ¿Es la más actual?
Crear un ambiente llamado clase que contenga jupyter, jupyterlab, numpy y pandas.
¿Qué versión de Numpy es implicada por la instalación?, ¿Es la más actual?
Halle en la Web algún código que ejecute en versiones viejas de Python no compatibles con las actuales.