DevToolBoxGRATIS
Blog

Entornos Virtuales Python: venv, conda, pipenv y poetry

10 minpor DevToolBox

Los entornos virtuales son la piedra angular de la gestión de dependencias en Python. Esta guía cubre las cuatro herramientas principales: venv, conda, pipenv y Poetry.

Por qué son importantes los entornos virtuales

Cada proyecto Python tiene sus propias dependencias con requisitos de versión específicos. Los entornos virtuales resuelven esto creando instalaciones Python aisladas por proyecto.

venv: Biblioteca estándar integrada

venv está incluido con Python 3.3+ y es la opción más simple. No requiere instalación adicional.

# venv — Built-in (Python 3.3+)

# Create a virtual environment
python -m venv .venv

# Activate (macOS/Linux)
source .venv/bin/activate

# Activate (Windows)
.venv\Scripts\activate

# Install packages
pip install django requests

# Save dependencies
pip freeze > requirements.txt

# Install from requirements.txt
pip install -r requirements.txt

# Deactivate
deactivate

# Delete the environment
rm -rf .venv

# Recommended: add .venv to .gitignore
echo ".venv" >> .gitignore

Poetry: Gestión moderna de dependencias

Poetry es el gestor de dependencias Python más moderno y completo.

# Poetry — Modern Dependency Management (Recommended 2026)

# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -

# Create a new project
poetry new my-project
cd my-project

# Add dependencies
poetry add django
poetry add --group dev pytest black ruff

# Install all dependencies (from poetry.lock)
poetry install

# Run commands in the virtual environment
poetry run python manage.py runserver
poetry run pytest

# Open a shell in the virtual environment
poetry shell

# Update dependencies
poetry update

# Export to requirements.txt (for compatibility)
poetry export -f requirements.txt --output requirements.txt

# Build and publish a package
poetry build
poetry publish

# Show dependency tree
poetry show --tree

# pyproject.toml (auto-generated)
# [tool.poetry]
# name = "my-project"
# version = "0.1.0"
# description = ""
# [tool.poetry.dependencies]
# python = "^>=3.11"
# django = "^>=5.0"
# [tool.poetry.group.dev.dependencies]
# pytest = "^>=8.0"

conda: Potencia para ciencia de datos

conda es un gestor de paquetes completo que puede instalar dependencias no Python.

# conda — Data Science / ML (Anaconda/Miniconda)

# Install Miniconda (minimal)
# https://docs.conda.io/projects/miniconda/

# Create environment with specific Python version
conda create -n myproject python=3.11

# Activate environment
conda activate myproject

# Install packages (conda packages first)
conda install numpy pandas scikit-learn matplotlib

# Install packages not in conda
pip install some-pytorch-extension

# Export environment
conda env export > environment.yml

# Create from environment.yml
conda env create -f environment.yml

# List environments
conda env list

# Deactivate
conda deactivate

# Remove environment
conda env remove -n myproject

# Update conda
conda update conda

# environment.yml example:
# name: myproject
# channels:
#   - conda-forge
#   - defaults
# dependencies:
#   - python=3.11
#   - numpy=1.26
#   - pandas=2.1
#   - pip:
#     - custom-package==1.0

Comparación de herramientas

La elección de la herramienta correcta depende de tu caso de uso.

Tool        Installation  Lockfile  Non-Python  Build/Publish  Best For
------------------------------------------------------------------------
venv        Built-in      No        No          No             Simple scripts, learning
pipenv      pip install   Yes       No          No             Legacy projects
Poetry      curl install  Yes       No          Yes            General apps, libraries
conda       Installer     Yes       Yes         No             Data science, ML, AI
uv          cargo/pip     Yes       No          Yes            Fast pip replacement (2026)

Preguntas frecuentes

Qué herramienta usar en 2026?

Para desarrollo Python general usa Poetry. Para ciencia de datos usa conda.

Diferencia entre pip y conda?

pip solo instala desde PyPI. conda puede instalar paquetes no Python.

Puedo usar pip en un entorno conda?

Sí, pero con precaución. Mezclar pip y conda puede causar conflictos.

Como compartir el entorno?

Con Poetry: pyproject.toml y poetry.lock. Con pip: requirements.txt. Con conda: environment.yml.

Herramientas relacionadas

𝕏 Twitterin LinkedIn
¿Fue útil?

Mantente actualizado

Recibe consejos de desarrollo y nuevas herramientas.

Sin spam. Cancela cuando quieras.

Prueba estas herramientas relacionadas

{ }JSON Formatter

Artículos relacionados

Guía Completa Python Type Hints: mypy, Protocols y Validación Runtime

Dominar las anotaciones de tipo Python 2026: mypy, Protocols y validación runtime con Pydantic.

FastAPI Tutorial: Construir APIs REST con Python en 2026

Tutorial completo de FastAPI: configuración, enrutamiento, validación, autenticación y despliegue.

Decoradores Python: De Básico a Avanzado

Domina los decoradores Python: funciones, clases, argumentos, functools.wraps y patrones prácticos.