Outils de développement

requirements.txtAnalyser et organiser

Lisez les déclarations, vérifiez leurs conditions et exportez le groupe choisi.

requirements.txt

Saisie des dépendances

Groupe sélectionné

Traitement dans le navigateur, sans recherche de paquets, accès aux URL ni envoi de données.

Format et périmètre

Pour pyproject.toml : Seuls project.dependencies, project.optional-dependencies et build-system.requires sont extraits. Les autres tables sont ignorées.

100 KiB UTF-8 · 1000 dépendances · 4096 caractères par déclaration · marqueurs non évalués.

Saisie ou options modifiées. Relancez l’analyse avant l’export.

Après une fusion, un même paquet peut figurer sur plusieurs lignes du fichier requirements.txt. Son nom ne suffit pas pour conclure à un doublon : les extras, les versions ou les conditions peuvent différer.

Examinez les dépendances Python sans créer un environnement virtuel. Pour pyproject.toml, les besoins de fonctionnement, les extras et les outils de construction restent dans des groupes distincts.

Pourquoi examiner requirements.txt ici ?

Les conditions restent associées à chaque déclaration.

Conserver les conditions

Le nom, les extras, les versions, l’URL et le marqueur sont affichés séparément, avec la déclaration d’origine. Le système du navigateur ne sert jamais à exclure une dépendance.

Une déclaration se répartit en champs tandis que sa condition reste attachée

Trier sans choisir une version à votre place

Pour organiser requirements.txt, la prévisualisation indique les suppressions exactes et les déplacements. Un même nom avec deux contraintes reste présent deux fois ; les groupes TOML ne sont pas fusionnés.

Deux cartes identiques deviennent une seule, une condition différente reste séparée

Trois vérifications avant de repartir

01

Distinguer format et remplacement

Changer de format conserve la saisie. L’exemple adapté au format passe par une prévisualisation de remplacement, avec une annulation possible après application.

02

Vérifier le groupe par défaut

project.dependencies reste sélectionné même s’il est vide. Les extras et build-system.requires doivent être choisis explicitement, sans bascule automatique vers les besoins de construction.

03

Attendre un résultat à jour

L’analyse automatique démarre après 350 ms sans saisie. Désactivez-la pour utiliser le bouton ou Ctrl/Cmd + Enter. Toute modification bloque l’export jusqu’au nouveau résultat.

Lire les champs plutôt que deviner

Des champs vérifiables

JSON expose le nom original et normalisé, les extras, les contraintes, les marqueurs, les références directes et les positions. La notation des versions est vérifiée, sans tester l’appartenance d’une version à un intervalle.

Des erreurs rattachées à la source

Le document entier passe par un analyseur TOML 1.0. Les champs pris en charge doivent être des tableaux de chaînes. Une déclaration incorrecte désigne sa chaîne source ; les schémas des autres tables tool ne sont pas vérifiés.

Exporter tout le groupe confirmé

JSON conserve les champs et le groupe ; TXT contient une déclaration par ligne. L’écran présente 50 éléments à la fois, mais copie et téléchargement incluent le groupe complet.

Périmètre de la vérification

Aucune résolution d’environnement
Pas de requête PyPI, d’installation, de résolution des dépendances transitives, de réparation des conflits ni d’audit de vulnérabilités ou de licences. Une syntaxe correcte ne prouve pas que les paquets sont installables ensemble.
Un sous-ensemble explicite de pip
Une déclaration PEP 508 nommée par ligne ; lignes vides et commentaires pip sont ignorés. -r, -c, -e, options d’index, hachages, chemins nus, continuations de ligne et substitutions de variables sont refusés.
Marqueurs conservés, jamais exécutés
Les variables standard, extra, comparaisons, parenthèses et and/or sont vérifiés. extras et dependency_groups, propres aux fichiers de verrouillage, ne sont pas acceptés. Les références directes restent du texte, sans ouverture des URL.
Champs standard uniquement
Extraction de project.dependencies, project.optional-dependencies et build-system.requires. Les dépendances dynamiques provoquent une erreur ; Poetry et dependency-groups ne sont pas extraits. Les noms d’extras utilisent minuscules, chiffres et tirets simples.
Le tri ne réécrit pas le fichier
Tri par nom normalisé puis déclaration originale. Seules les déclarations intégralement identiques après retrait des espaces extérieurs, dans le même groupe, sont supprimées. Les commentaires restent dans la saisie, hors export ; une nouvelle analyse réinitialise le tri.
Limites et échec global
100 KiB en UTF-8, 1000 dépendances, 4096 caractères par déclaration et 32 niveaux de parenthèses pour les marqueurs. Une erreur dans un champ pris en charge bloque l’export de tout le document.

Questions sur requirements.txt

Peut-on ajouter des commentaires dans un fichier de dépendances pip ?

Oui. Une ligne commençant par #, ou un # précédé d’un espace, ouvre un commentaire. Un fragment # collé à une URL reste dans celle-ci. Les commentaires sont conservés dans la saisie, mais pas dans la liste extraite.

Peut-on adapter les dépendances de requirements.txt à la version de Python ?

Oui, par exemple avec importlib-metadata; python_version < "3.10". L’analyseur vérifie et conserve le marqueur. C’est l’installateur de l’environnement Python cible qui détermine si la condition s’applique.

requirements.txt est-il encore nécessaire avec pyproject.toml ?

Cela dépend du projet. Les dépendances peuvent être déclarées dans pyproject.toml tandis que requirements.txt sert d’entrée à l’installateur ou de liste d’environnement. Cet outil extrait un groupe standard, sans produire un verrouillage résolu ni remplacer la configuration de construction.

Peut-on autoriser plusieurs versions dans requirements.txt ?

Un intervalle tel que package>=1,<2 ou des conditions d’environnement distinctes sont possibles. Les contraintes différentes sont conservées. Plusieurs lignes portant le même nom ne représentent pas automatiquement des alternatives et peuvent être incompatibles.

Comment résoudre un conflit de versions de paquets ?

Examinez les contraintes contradictoires avec le gestionnaire de paquets dans l’environnement cible. Cette page rend les déclarations et conditions visibles, mais ne calcule pas de combinaison compatible. Retirer un doublon exact ne corrige pas des contraintes opposées.

Un résultat inattendu ?

Vérifier le groupe sélectionné

Revenez au fichier requirements.txt, choisissez le groupe voulu et vérifiez le résultat confirmé avant de le réutiliser.