Entorno Virtual

El uso de un Entorno Virtual es para probar código python en entornos encapsulados, y también para evitar llenar la instalación base de Python con librerías que podríamos usar solo para un proyecto.

venv

venv es el módulo de la librería estándar para crear entornos virtuales en Python 3.3+. Está integrado en Python, por lo que no requiere instalación.

  1. Crear un entorno virtual
python -m venv venv

O en algunos sistemas:

python3 -m venv venv

Esto crea un directorio venv en tu carpeta actual que contiene el entorno virtual.

Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué comando se utiliza para crear un entorno virtual usando venv?
A. python -m venv venv
B. python create venv
C. venv create
D. python venv new
  1. Activar el entorno virtual

En Linux/macOS:

source venv/bin/activate

En Windows:

venv\Scripts\activate

Una vez activado, verás (venv) al principio de tu símbolo del sistema, indicando que el entorno virtual está activo.

Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Cómo se activa un entorno virtual en Linux/macOS?
A. activate venv
B. source venv/bin/activate
C. venv activate
D. python venv activate
  1. Instalar paquetes

Con el entorno virtual activado, instala paquetes usando pip:

pip install package_name

Los paquetes instalados serán específicos de este entorno virtual.

  1. Desactivar el entorno virtual

Para salir del entorno virtual:

deactivate

El prefijo (venv) desaparecerá de tu símbolo del sistema.

Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Cuál es el propósito principal de usar un entorno virtual?
A. Aislar las dependencias del proyecto y evitar llenar la instalación base de Python
B. Hacer que Python se ejecute más rápido
C. Cifrar código Python
D. Compilar Python a código máquina

virtualenv

  1. Instalar virtualenv
pip install virtualenv
  1. Instalar virtualenvwrapper-win (Windows)
pip install virtualenvwrapper-win

Uso:

  1. Crear un Entorno Virtual llamado HelloWorld
mkvirtualenv HelloWorld

Cualquier cosa que instalemos ahora será específica para este proyecto. Y estará disponible para los proyectos que conectemos a este entorno.

  1. Establecer Directorio del Proyecto

Para vincular nuestro virtualenv con nuestro directorio de trabajo actual, simplemente ingresamos:

setprojectdir .
  1. Desactivar

Para pasar a otra cosa en la línea de comandos, escribe deactivate para desactivar tu entorno.

deactivate

Nota cómo desaparecen los paréntesis.

  1. Workon

Abre el símbolo del sistema y escribe workon HelloWorld para activar el entorno y moverte a la carpeta raíz de tu proyecto

workon HelloWorld

Poetry

Desde sitio web de Poetry

Poetry es una herramienta para la gestión de dependencias y el empaquetado en Python. Te permite declarar las librerías de las que depende tu proyecto y las gestionará (instalará/actualizará) por ti.

  1. Instalar Poetry
pip install --user poetry
  1. Crear un nuevo proyecto
poetry new my-project

Esto creará un directorio my-project:

my-project
├── pyproject.toml
├── README.rst
├── poetry_demo
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_poetry_demo.py

El archivo pyproject.toml orquestará tu proyecto y sus dependencias:

[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["your name <your@mail.com>"]

[tool.poetry.dependencies]
python = "*"

[tool.poetry.dev-dependencies]
pytest = "^3.4"
  1. Paquetes

Para añadir dependencias a tu proyecto, puedes especificarlas en la sección tool.poetry.dependencies:

[tool.poetry.dependencies]
pendulum = "^1.4"

Además, en lugar de modificar el archivo pyproject.toml manualmente, puedes usar el comando add y automáticamente encontrará una restricción de versión adecuada.

poetry add pendulum

Para instalar las dependencias listadas en pyproject.toml:

poetry install

Para eliminar dependencias:

poetry remove pendulum

Para más información, consulta la documentación o lee aquí:

Pipenv

Desde sitio web de Pipenv

Pipenv es una herramienta que tiene como objetivo traer lo mejor de todos los mundos de empaquetado (bundler, composer, npm, cargo, yarn, etc.) al mundo de Python. Windows es un ciudadano de primera clase, en nuestro mundo.

  1. Instalar pipenv
pip install pipenv
  1. Entra en el directorio de tu Proyecto e instala los Paquetes para tu proyecto
cd my_project
pipenv install <package>

Pipenv instalará tu paquete y creará un Pipfile para ti en el directorio de tu proyecto. El Pipfile se utiliza para rastrear qué dependencias necesita tu proyecto en caso de que necesites reinstalarlas.

  1. Desinstalar Paquetes
pipenv uninstall <package>
  1. Activar el Entorno Virtual asociado con tu proyecto Python
pipenv shell
  1. Salir del Entorno Virtual
exit

Encuentra más información y un video en docs.pipenv.org.

Anaconda

Anaconda es otra herramienta popular para gestionar paquetes de python.

Donde se comparten paquetes, notebooks, proyectos y entornos. Tu lugar para el alojamiento público gratuito de paquetes conda.

Uso:

  1. Crear un Entorno Virtual
conda create -n HelloWorld
  1. Para usar el Entorno Virtual, actívalo mediante:
conda activate HelloWorld

Cualquier cosa instalada ahora será específica para el proyecto HelloWorld

  1. Salir del Entorno Virtual
conda deactivate

UV

Desde Documentación de UV

UV es un instalador y resolvedor de paquetes de Python extremadamente rápido, diseñado como un reemplazo directo para los flujos de trabajo de pip y pip-tools. UV es entre 10 y 100 veces más rápido que pip y proporciona gestión unificada de paquetes, creación de entornos virtuales y gestión de versiones de Python.

  1. Instalar UV
# Usando curl (Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Usando pip o pipx
pip install uv
  1. Crear un nuevo proyecto con entorno virtual
uv init my-project
cd my-project
  1. Añadir dependencias
uv add requests
  1. Ejecutar comandos en el entorno del proyecto
uv run python script.py
  1. Activar el entorno virtual manualmente (opcional)
source .venv/bin/activate  # Linux/macOS
.venv\Scripts\activate     # Windows

UV gestiona automáticamente los entornos virtuales, las versiones de Python y las dependencias con una velocidad y conveniencia excepcionales.

Enlaces relevantes