================
== Pythonisas ==
================
Brujas del teclado. Alquimistas de los bits.

Uso de entornos virtuales mágicos

¿Por qué entornos virtuales?

Durante el desarrollo de aplicaciones en Python, pueden surgir problemas relacionados con el uso de diferentes versiones de bibliotecas. Por ejemplo, dos aplicaciones diferentes pueden necesitar la misma biblioteca, pero de diferentes versiones. O puede que necesites asegurar el funcionamiento correcto de una aplicación independientemente de las actualizaciones de la versión de la biblioteca que utiliza.

Para solucionar estos problemas, los desarrolladores idearon una forma interesante: ejecutar cada aplicación con su propio conjunto de versiones de bibliotecas en entornos aislados. De esta manera, un entorno virtual (virtual environment) en Python permite gestionar proyectos de forma aislada:

  • Cada proyecto puede tener sus propias dependencias.
  • Las dependencias de un proyecto no afectan a las dependencias de otro proyecto.

Usaremos el módulo venv, que viene integrado en Python desde la versión 3.3+ — no hay que instalar nada adicional.

Importante: antes de empezar, debes tener instalado Python 3 y pip. Si usas Windows, reemplaza pip3 por pip y python3 por python.

Creación de un proyecto

Empecemos creando un proyecto. Primero, crea una carpeta para el proyecto y accede a ella:

mkdir my_python_project
cd my_python_project

Creación del entorno virtual

Crea un entorno virtual dentro de la carpeta del proyecto:

python3 -m venv venv

Si encuentras un error relacionado con ensurepip, en Ubuntu/Debian ejecuta:

sudo apt-get install python3-venv -y

Esto crea una carpeta venv/ que contiene una copia del intérprete de Python y un directorio lib/ donde se instalarán los paquetes de este proyecto — completamente aislados del sistema.

Activación del entorno virtual

Para activar el entorno virtual en Linux/macOS:

source venv/bin/activate

En Windows:

venv\Scripts\activate

Cuando el entorno está activo, verás el nombre del entorno entre paréntesis al inicio del prompt:

(venv) usuario@maquina:~/my_python_project$

Comprobación de paquetes instalados

Comprueba los paquetes pip instalados dentro del entorno virtual:

pip3 list

La salida inicial incluye solo pip y setuptools — el entorno está limpio y aislado.

Instala un paquete de ejemplo:

pip3 install requests

Vuelve a comprobar:

pip3 list

Ahora verás requests y sus dependencias, instaladas solo dentro de este entorno.

Salida del entorno virtual

Para salir (desactivar) el entorno virtual:

deactivate

El prompt vuelve a la normalidad — ya no estás dentro del entorno aislado.

Exportar paquetes instalados (requirements.txt)

Para crear un archivo con la lista de paquetes instalados y sus versiones:

pip3 freeze > requirements.txt

Este fichero requirements.txt permite reproducir el mismo entorno en otra máquina.

Importar paquetes en otro entorno

En otra máquina (o en un entorno nuevo), crea un nuevo entorno virtual, actívalo, e importa los paquetes:

python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

Resumen de comandos

  • Crear entornopython3 -m venv venv
  • Activar (Linux/macOS)source venv/bin/activate
  • Activar (Windows)venv\Scripts\activate
  • Ver paquetespip3 list
  • Instalar paquetepip3 install nombre
  • Exportar paquetespip3 freeze > requirements.txt
  • Importar paquetespip3 install -r requirements.txt
  • Desactivardeactivate

Recuerda: venv es la herramienta nativa de Python 3 y es suficiente para la mayoría de proyectos. No necesitas instalar nada adicional.


Artículo basado en CodigoNautas — Qué son venv y virtualenv en Python