Herramientas de desarrollo

requirements.txtAnalizar y ordenar

Examina declaraciones y condiciones, y exporta el grupo que hayas seleccionado.

requirements.txt

Entrada de dependencias

Grupo seleccionado

El texto se procesa en el navegador, sin consultar paquetes, abrir URL ni subir datos.

Formato y alcance

En pyproject.toml: Solo se extraen project.dependencies, project.optional-dependencies y build-system.requires. Se ignoran las demás tablas de dependencias.

100 KiB UTF-8 · 1000 dependencias · 4096 caracteres por declaración · marcadores sin evaluar.

La entrada o las opciones cambiaron. Analiza de nuevo antes de exportar.

Al combinar ramas, un paquete puede aparecer varias veces en el archivo de requisitos. El nombre no basta para decidir qué borrar: los extras, las restricciones de versión o las condiciones pueden ser distintos.

requirements.txt se muestra aquí por campos. Las dependencias Python declaradas en pyproject.toml mantienen separados los grupos de ejecución, extras y compilación, sin crear un entorno.

Por qué revisar requirements.txt aquí

Conserva las condiciones y el origen de cada declaración.

Las condiciones siguen unidas

Nombre, extras, restricciones, URL y marcador se muestran por separado junto con la declaración original. El sistema operativo del navegador nunca se usa para descartar dependencias.

Una declaración se divide en campos y conserva su condición asociada

Quita repeticiones sin elegir versiones

Al organizar requirements.txt, la vista previa cuenta duplicados exactos y cambios de orden. Un mismo nombre con otras restricciones se conserva; los grupos TOML se eligen por separado.

Dos tarjetas idénticas se convierten en una y una condición distinta permanece separada

Tres comprobaciones antes de exportar

01

Distingue formato de sustitución

Cambiar el formato conserva el texto. Para cargar el ejemplo correspondiente, revisa la sustitución antes de aplicarla. Después puedes deshacerla una vez.

02

Comprueba el grupo inicial

La selección empieza en project.dependencies aunque esté vacío. Los extras y build-system.requires se eligen explícitamente, sin cambiar automáticamente a dependencias de compilación.

03

Espera un resultado actualizado

El análisis automático espera 350 ms tras editar. Desactívalo para usar el botón o Ctrl/Cmd + Enter. Los cambios bloquean la exportación hasta obtener un nuevo resultado.

Leer las declaraciones por campos

Campos para revisar

JSON incluye nombre original y normalizado, extras, restricciones de versión, marcadores, referencias directas y posición de origen. Se verifica la escritura de las versiones, sin probar si una versión candidata cumple un intervalo.

TOML y tipos de campo

El documento completo se analiza como TOML 1.0. Los campos admitidos deben ser listas de cadenas. Una declaración inválida señala su cadena de origen; no se validan los esquemas particulares de otras tablas tool.

Exporta el grupo completo

JSON conserva campos y grupo; TXT contiene una declaración por línea. La pantalla muestra bloques de 50 registros, mientras que copia y descarga incluyen todo el grupo confirmado.

Alcance y límites reales

Sin resolver instalaciones
No se consulta PyPI ni se instalan paquetes. Tampoco se resuelven dependencias transitivas, conflictos, vulnerabilidades o licencias. Una sintaxis correcta no garantiza que todas las declaraciones puedan instalarse juntas.
Un subconjunto de pip
Una declaración PEP 508 con nombre por línea. Se omiten líneas vacías y comentarios de pip. Se rechazan -r, -c, -e, índices, opciones hash, rutas sin nombre, continuaciones y expansión de variables.
Marcadores sin evaluación
Se comprueban variables estándar, extra, comparaciones, paréntesis y and/or. No se aceptan extras ni dependency_groups, reservados a archivos de bloqueo. Las referencias directas permanecen como texto; no se abren sus URL.
Solo campos estándar
Se extraen project.dependencies, project.optional-dependencies y build-system.requires. Las dependencias dinámicas causan un error; Poetry y dependency-groups no se extraen. Los nombres de extras admiten minúsculas, números y guiones simples.
El original queda intacto
Se ordena por nombre normalizado y declaración original. Solo se eliminan declaraciones idénticas del mismo grupo tras recortar espacios exteriores. Los comentarios permanecen en la entrada y no en la exportación. Volver a analizar reinicia la organización.
Límites y fallo completo
Máximo de 100 KiB UTF-8, 1000 dependencias, 4096 caracteres por declaración y 32 niveles de paréntesis en los marcadores. Un error en un campo admitido bloquea la exportación de todo el documento.

Preguntas sobre requirements.txt

¿Se pueden añadir comentarios a un archivo de requisitos de pip?

Sí. Una línea que empieza por #, o un # precedido de espacio, inicia un comentario. Un fragmento # unido a una URL sigue formando parte de ella. Los comentarios quedan en la entrada, pero no se incluyen en la lista extraída.

¿Puede requirements.txt indicar dependencias según la versión de Python?

Sí, por ejemplo importlib-metadata; python_version < "3.10". El analizador comprueba y conserva el marcador. El instalador del entorno Python de destino decide si la condición se cumple, no el navegador.

¿Sigue siendo necesario requirements.txt si se usa pyproject.toml?

Depende del flujo de trabajo. pyproject.toml puede declarar dependencias del proyecto, mientras requirements.txt sirve de entrada al instalador o de lista de un entorno. Esta herramienta extrae un grupo estándar; no crea un archivo de bloqueo resuelto ni reemplaza la configuración de compilación.

¿Se pueden permitir distintas versiones en requirements.txt?

Puedes usar intervalos como package>=1,<2 o declaraciones con condiciones distintas. Las restricciones diferentes se conservan al quitar duplicados. Varias líneas del mismo paquete no son alternativas automáticas y pueden resultar incompatibles.

¿Cómo se resuelve un conflicto entre versiones de paquetes?

Examina las restricciones contradictorias con el gestor de paquetes en el entorno de destino. Aquí puedes ver declaraciones y condiciones, pero no calcular una combinación compatible. Eliminar un duplicado exacto no resuelve restricciones contradictorias.

¿Un resultado inesperado?

Comprueba el grupo seleccionado

Vuelve a requirements.txt, selecciona el grupo que necesitas y revisa el resultado confirmado antes de utilizarlo.