Icono del Tema

Entornos Virtuales en Python

October 27, 2023 3 minutos de lectura • ¿Errores o sugerencias? Edita el artículo

Maletín Elegante Boceto

Existía la hipótesis de por qué utilizar un entorno virtual en Python, pero las prácticas de campo permitieron contemplar que los entornos virtuales son como maletines elegantes que guardan los paquetes necesarios para que el proyecto funcione.

Aquí hay un lista resumen de los beneficios de usar entornos virtuales en Python:

1) Independencia

Cada entorno virtual es independiente uno del otro, por eso es ideal tener un entorno para cada proyecto. De esa forma se evita chocar con los paquetes y versiones de otro proyecto.

Si un proyecto usa Numpy, pero otro usa sólo Django, y si otro tiene la versión 2 de Django, pero hay otro proyecto que usa la versión 3. Con los entornos virtuales esos paquetes puedan quedar separados uno de otro en sus respectivos entornos de proyecto.

Sin duda los entornos virtuales son como maletines elegantes que debería usar todo buen programador Python.

Instalar paquete de entornos virtuales

pip3 install virtualenv

Crear entorno virtual

virtualenv venv

Activar entorno virtual

En MS Windows

venv\Scripts\activate.ps1

En GNU Linux/Mac OS

source venv/bin/activate

Desactivar el entorno virtual

deactivate

Eliminar entorno virtual

rm -rf venv

2) Portabilidad

Además, los entornos virtuales pueden ser portables. Con un gestor de paquetes como pip. Se puede fijar una lista de todos los paquetes del proyecto.

Esta lista se suele encontrar en un archivo con el nombre de requirements.txt Para generarlo se puede usar el comando de pip:

pip freeze > requirements.txt

Para instalar los paquetes desde este archivo se usa el siguiente comando de pip.

pip install -r requirements.txt

Esto le da la ventaja al proyecto de que puede ser llevado a algún contenedor docker o una máquina virtual. Puesto que solo se tendría que crear un entorno virtual e instalar los paquetes desde el archivo requirements.txt.

3) Trabajo en Equipo

Los entornos virtuales permiten a los desarrolladores trabajar con diferentes versiones de Python y paquetes de Python sin afectar las configuraciones locales de cada participante. Esto facilita la colaboración al proporcionar un entorno aislado para cada proyecto, evitando conflictos de compatibilidad.

Si aún no estás usando entornos virtuales en tus proyectos de Python, te recomiendo que los pruebes. Son una herramienta esencial para evitar conflictos de paquetes y mejorar la colaboración en equipo.