# Instalación

Diffusers requiere Python 3.10+ y se prueba con PyTorch 2.6+. Instala [PyTorch](https://pytorch.org/get-started/locally/) según tu sistema y configuración.

Cree un [entorno virtual](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/) para gestionar proyectos de forma independiente y evitar problemas de compatibilidad entre dependencias. Utilice [uv](https://docs.astral.sh/uv/), un gestor de paquetes y proyectos de Python basado en Rust, para crear un entorno virtual e instalar Diffusers.

```bash
uv venv my-env
source my-env/bin/activate
```

Instala Diffusers con uno de los siguientes métodos.

```bash
uv pip install diffusers["torch"] transformers
```

Para instalar Diffusers con PyTorch en dispositivos NVIDIA Spark (como un portátil RTX Spark) que ejecutan ARM64, instale PyTorch desde el índice PyPI de NVIDIA. Estos dispositivos requieren las compilaciones ARM64 de PyTorch de NVIDIA, que no están disponibles en el índice PyPI predeterminado ni en el índice estándar de ruedas de PyTorch.

Ejecuta el siguiente comando para comprobar si tu sistema detecta una GPU de NVIDIA.

```bash
nvidia-smi
```

Instale PyTorch desde el índice PyPI de NVIDIA y luego instale Diffusers.

```bash
uv pip install torch --index-url https://pypi.nvidia.com
uv pip install diffusers
```

```bash
conda install -c conda-forge diffusers
```

Una instalación desde el código fuente instala la versión `main` en lugar de la versión `stable` más reciente. La versión `main` es útil para mantenerse al día con los últimos cambios, pero no siempre es estable. Si te encuentras con un problema, abre un [Issue](https://github.com/huggingface/diffusers/issues/new/choose) y trataremos de resolverlo lo antes posible.

Asegúrate de que [Accelerate](https://huggingface.co/docs/accelerate/index) esté instalado.

```bash
uv pip install accelerate
```

Instala Diffusers desde el código fuente con el siguiente comando.

```bash
uv pip install git+https://github.com/huggingface/diffusers
```

Instala con extras cuando los necesites. `diffusers["torch"]` descarga PyTorch y Accelerate. Otros extras cubren backends de cuantización, entrenamiento y documentación. Consulta [`setup.py`](https://github.com/huggingface/diffusers/blob/main/setup.py) para la lista completa.

## Dispositivos

Diffusers se ejecuta en cualquier acelerador compatible con PyTorch. Los ejemplos de la documentación utilizan `"cuda"` porque es la configuración más común, pero nada es específico de CUDA. Sustituya la cadena de dispositivo por la de su hardware, como `"xpu"` para GPUs de Intel, `"mps"` para Apple silicon o `"cpu"`.

```py
device = "cuda"  # or "mps", "xpu", "cpu"
pipeline.to(device)
```

Para seleccionar el dispositivo en tiempo de ejecución en lugar de codificarlo de forma fija, use [torch.accelerator](https://docs.pytorch.org/docs/stable/accelerator.html).

```py
import torch

device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"
```

## Instalación editable

Se recomienda una instalación editable para flujos de trabajo de desarrollo o si estás usando la versión `main` del código fuente. Se crea un enlace especial entre el repositorio clonado y las rutas de la biblioteca de Python. Esto evita reinstalar un paquete después de cada cambio.

Clona el repositorio e instala Diffusers con los siguientes comandos.

```bash
git clone https://github.com/huggingface/diffusers.git
cd diffusers
uv pip install -e ".[torch]"
```

> [!WARNING]
> Debes conservar la carpeta `diffusers` si quieres seguir usando la biblioteca con la instalación editable.

Actualiza tu repositorio clonado a la última versión de Diffusers con el siguiente comando.

```bash
cd ~/diffusers/
git pull
```

## Caché

Los pesos y archivos del modelo se descargan desde el Hub en un caché, que normalmente es tu directorio de inicio. Cambia la ubicación del caché con las variables de entorno [HF_HOME](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhome) o [HF_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache) o configurando el parámetro `cache_dir` en métodos como [from_pretrained()](/docs/diffusers/v0.43.0/es/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained).

```bash
export HF_HOME="/path/to/your/cache"
export HF_HUB_CACHE="/path/to/your/hub/cache"
```

```py
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev",
    cache_dir="/path/to/your/cache"
)
```

Los archivos en caché le permiten usar Diffusers sin conexión. Establezca la variable de entorno [HF_HUB_OFFLINE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhuboffline) en `1` para evitar que Diffusers se conecte a internet.

```shell
export HF_HUB_OFFLINE=1
```

Para más detalles sobre la gestión y limpieza de la caché, consulte la guía [Comprender la caché](https://huggingface.co/docs/huggingface_hub/guides/manage-cache).

## Registro de telemetría

Diffusers recopila información de telemetría durante las solicitudes de [from_pretrained()](/docs/diffusers/v0.43.0/es/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained). Los datos recopilados incluyen la versión de Diffusers y PyTorch, la clase de modelo o pipeline solicitada y la ruta a un checkpoint preentrenado si está alojado en el Hub.

Estos datos de uso nos ayudan a depurar problemas y a priorizar nuevas funciones. La telemetría solo se envía al cargar modelos y pipelines desde el Hub, y no se recopila si estás cargando archivos locales.

Desactive y deshabilite la recopilación de telemetría con la variable de entorno [HF_HUB_DISABLE_TELEMETRY](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubdisabletelemetry).

```bash
export HF_HUB_DISABLE_TELEMETRY=1
```

```bash
set HF_HUB_DISABLE_TELEMETRY=1
```

