Creación de un entorno virtual para Python

Python

Las aplicaciones en Python usualmente hacen uso de paquetes y módulos que no forman parte de la librería estándar. Las aplicaciones a veces necesitan una versión específica de una librería, debido a que dicha aplicación requiere que un bug particular haya sido solucionado o bien la aplicación ha sido escrita usando una versión obsoleta de la interfaz de la librería.

Esto significa que tal vez no sea posible para una instalación de Python cumplir los requerimientos de todas las aplicaciones. Si la aplicación A necesita la versión 1.0 de un módulo particular y la aplicación B necesita la versión 2.0, entonces los requerimientos entran en conflicto e instalar la versión 1.0 o 2.0 dejará una de las aplicaciones sin funcionar.

La solución a este problema es crear un entorno virtual, un directorio que contiene una instalación de Python de una versión en particular, además de unos cuantos paquetes adicionales.

Utilidad de un entorno virtual

  • Aislamiento de dependencias: Cada proyecto puede tener sus propias dependencias sin afectar otros proyectos.
  • Facilidad de colaboración: Puedes compartir un archivo de requisitos (requirements.txt) para que otros desarrolladores instalen las mismas dependencias.
  • Evita conflictos: Diferentes proyectos pueden usar versiones distintas de una misma librería.
  • Mantenimiento limpio: Al eliminar un entorno virtual, no afectas el sistema global de Python.

Requerimientos

  • Tener Python instalado en tu sistema (preferiblemente Python 3.x).
  • Acceso a la terminal o línea de comandos.

Creación de un entorno virtual

Paso 1: Abrir la terminal

  • En Windows: Usa el Símbolo del sistema o PowerShell.
  • En macOS o Linux: Usa la Terminal.

Paso 2: Crear el entorno virtual

Python incluye un módulo llamado venv para crear entornos virtuales. Ejecuta el siguiente comando:

python -m venv nombre_del_entorno
  • nombre_del_entorno: Es el nombre que le das a tu entorno virtual. Por ejemplo, mi_entorno.

Esto creará una carpeta con el nombre que especificaste, la cual contendrá todos los archivos necesarios para el entorno virtual.

Activación del entorno virtual

  • En Windows:
    nombre_del_entorno\Scripts\activate
    
  • En macOS o Linux:
source nombre_del_entorno/bin/activate

Después de activar el entorno virtual, verás que el nombre del entorno aparece entre paréntesis en la línea de comandos, indicando que está activo. Por ejemplo:

(mi_entorno) usuario@equipo:~$

Desactivación del entorno virtual

Para salir del entorno virtual, simplemente ejecuta:

deactivate

Esto te devolverá a la terminal normal.

Instalación de paquetes en el entorno virtua

Una vez activado el entorno virtual, puedes instalar paquetes usando pip. Por ejemplo:

pip install numpy

Esto instalará la librería numpy solo en el entorno virtual actual, no globalmente.

Comandos útiles

  • Ver los paquetes instalados:
    pip list
    
  • Guardar las dependencias en un archivo:
    pip freeze > requirements.txt
    

    Esto crea un archivo requirements.txt con todas las librerías instaladas y sus versiones.

  • Instalar dependencias desde un archivo:
    pip install -r requirements.txt
    

    Esto instala todas las librerías listadas en requirements.txt.

  • Eliminar un paquete:
    pip uninstall nombre_del_paquete
    
  • Crear un entorno virtual con una versión específica de Python: Si tienes varias versiones de Python instaladas, puedes especificar cuál usar:
    python3.9 -m venv nombre_del_entorno
    

Ejemplo práctico

Crear un entorno virtual:

python -m venv mi_proyecto

Activar el entorno:

source mi_proyecto/bin/activate  # macOS/Linux
mi_proyecto\Scripts\activate     # Windows

Instalar algunas librerías:

pip install requests pandas

Ver las librerías instaladas:

pip list

Guardar las dependencias:

pip freeze > requirements.txt

Desactivar el entorno:

deactivate

Recrear el entorno en otra máquina:

  • Copia el archivo requirements.txt a la nueva máquina.
  • Crea y activa un nuevo entorno virtual. Instala las dependencias:
    pip install -r requirements.txt
    

Eliminar un entorno virtual

Simplemente elimina la carpeta del entorno virtual. Por ejemplo:

rm -rf mi_proyecto  # macOS/Linux
rmdir /s /q mi_proyecto  # Windows

Resumen

Un entorno virtual te permite aislar las dependencias de un proyecto. Se crea con python -m venv nombre_del_entorno.

Se activa con source nombre_del_entorno/bin/activate (macOS/Linux) o nombre_del_entorno\Scripts\activate (Windows).

Se desactiva con deactivate.

Usa pip para instalar, listar y eliminar paquetes. Guarda las dependencias en requirements.txt para compartir o recrear el entorno.