Entwicklerwerkzeuge

requirements.txtprüfen und sortieren

Abhängigkeiten einlesen, Bedingungen prüfen und eine ausgewählte Gruppe exportieren.

requirements.txt

Abhängigkeiten eingeben

Ausgewählte Abhängigkeitsgruppe

Die Verarbeitung erfolgt im Browser, ohne Paketabfrage, URL-Abruf oder Upload.

Format und Geltungsbereich

Für pyproject.toml: Nur project.dependencies, project.optional-dependencies und build-system.requires werden extrahiert. Andere Abhängigkeitstabellen bleiben unberücksichtigt.

100 KiB UTF-8 · 1000 Abhängigkeiten · 4096 Zeichen pro Deklaration · keine Marker-Auswertung.

Eingabe oder Optionen geändert. Vor dem Export erneut prüfen.

Nach einem Merge steht ein Paket oft mehrfach in der Anforderungsdatei. Gleiche Namen reichen aber nicht für eine sichere Löschung: Extras, Versionsgrenzen oder Plattformbedingungen können sich unterscheiden.

requirements.txt lässt sich hier in seine Felder zerlegen. Python-Abhängigkeiten aus pyproject.toml bleiben nach Laufzeit, Extras und Build getrennt, ohne eine Umgebung einzurichten.

Warum requirements.txt hier prüfen?

Bedingungen und Herkunft bleiben nachvollziehbar.

Bedingungen am Paket belassen

Name, Extras, Versionsangaben, URL und Umgebungsmarker werden getrennt dargestellt. Die ursprüngliche Deklaration bleibt erhalten; das Betriebssystem des Browsers entscheidet nicht darüber, welche Einträge übrig bleiben.

Eine Deklaration wird in Felder zerlegt, ihre Bedingung bleibt zugeordnet

Duplikate ohne Versionswahl entfernen

Beim Ordnen von requirements.txt zeigt eine Vorschau gelöschte und umsortierte Einträge. Gleiche Namen mit unterschiedlichen Bedingungen bleiben bestehen. In TOML wählen Sie Laufzeit-, Extra- und Build-Gruppen einzeln aus.

Zwei identische Karten werden zusammengeführt, eine Karte mit anderer Bedingung bleibt erhalten

Drei Prüfungen vor dem Export

01

Formatwechsel ersetzt keinen Text

Die Formatwahl lässt die Eingabe unverändert. Ein passendes Beispiel laden Sie über eine Ersetzungsvorschau. Nach dem Anwenden lassen sich Eingabe und Ergebnis einmal wiederherstellen.

02

Leere Laufzeitgruppe beachten

Die Ansicht beginnt mit project.dependencies. Ist die Gruppe leer, wird nicht automatisch auf Build-Abhängigkeiten gewechselt. Extras und build-system.requires wählen Sie ausdrücklich aus.

03

Aktualität vor dem Export prüfen

Automatisch wird nach 350 ms Eingabepause analysiert. Ohne Automatik nutzen Sie die Schaltfläche oder Ctrl/Cmd + Enter. Änderungen sperren den Export bis zum nächsten Ergebnis.

Deklarationen verständlich aufschlüsseln

Einzelne Felder kontrollieren

JSON enthält Originalname, normalisierten Namen, Extras, Versionsangaben, Marker, direkte Referenz und Quellposition. Die Schreibweise einer Versionsnummer wird geprüft; ob eine konkrete Version einen Bereich erfüllt, wird nicht berechnet.

TOML mit Quellpositionen

Der Parser prüft das Dokument nach TOML 1.0. Unterstützte Abhängigkeitsfelder müssen Zeichenketten-Arrays sein. Ungültige Deklarationen verweisen auf ihre Quellzeichenkette; tool-Tabellen erhalten keine eigene Schema-Prüfung.

Vollständige Gruppe exportieren

JSON bewahrt Felder und Gruppennamen, TXT enthält eine Deklaration pro Zeile. Die Anzeige wächst in Schritten von 50; Kopieren und Download umfassen stets die gesamte bestätigte Gruppe.

Grenzen der Prüfung

Keine installierbare Umgebung berechnen
Es gibt keine PyPI-Abfrage, Installation, Auflösung transitiver Abhängigkeiten, Konfliktreparatur oder Sicherheits- und Lizenzanalyse. Gültige Syntax beweist nicht, dass alle Deklarationen gemeinsam installierbar sind.
Begrenzte pip-Syntax
Eine benannte PEP-508-Deklaration pro Zeile; Leerzeilen und pip-Kommentare werden ignoriert. -r, -c, -e, Indexoptionen, Hash-Optionen, unbenannte Pfade, Zeilenfortsetzungen und Variablenersetzung werden ausdrücklich abgelehnt.
Marker werden nicht ausgewertet
Standardvariablen und extra, Vergleiche, Klammern und and/or werden syntaktisch geprüft. Die Lockdatei-Variablen extras und dependency_groups sind ausgeschlossen. Direkte Referenzen bleiben Text, ihre URLs werden nicht geöffnet.
Nur standardisierte Abhängigkeitsfelder
Extrahiert werden project.dependencies, project.optional-dependencies und build-system.requires. Dynamische Abhängigkeiten führen zum Fehler. Poetry-Tabellen und dependency-groups bleiben unberücksichtigt. Extra-Namen dürfen Kleinbuchstaben, Ziffern und einzelne Bindestriche enthalten.
Ordnen verändert nur das Ergebnis
Sortiert wird nach normalisiertem Namen und Originaldeklaration. Nur nach Entfernen äußerer Leerzeichen vollständig identische Deklarationen derselben Gruppe werden dedupliziert. Kommentare bleiben in der Eingabe, fehlen im Export; erneutes Parsen setzt die Ordnung zurück.
Grenzen gelten für das gesamte Dokument
Maximal 100 KiB UTF-8, 1000 Abhängigkeiten und 4096 Zeichen pro Deklaration; Marker dürfen 32 Klammer-Ebenen enthalten. Ein Fehler in einem unterstützten Feld sperrt den gesamten Export statt eine unvollständige Liste auszugeben.

Fragen zu requirements.txt

Kann ich Kommentare in einer pip-Anforderungsdatei hinzufügen?

Ja. Eine Zeile mit führendem # und ein # nach Leerraum beginnen Kommentare. Ein URL-Fragment ohne vorangehenden Leerraum bleibt Teil der URL. Kommentare bleiben in der Eingabe, werden jedoch nicht in die extrahierte Liste übernommen.

Kann requirements.txt Abhängigkeiten je nach Python-Version angeben?

Ja, beispielsweise mit importlib-metadata; python_version < "3.10". Der Parser prüft und bewahrt diesen Marker. Ob er zutrifft, entscheidet der Installer in der Python-Zielumgebung, nicht der Browser.

Brauche ich requirements.txt noch, wenn ich pyproject.toml verwende?

Das hängt vom Ablauf ab. Projektabhängigkeiten können in pyproject.toml stehen, während requirements.txt als Installer-Eingabe oder Umgebungsliste dient. Dieses Werkzeug extrahiert eine Standardgruppe; es erzeugt keine aufgelöste Lockdatei und ersetzt keine Build-Konfiguration.

Kann requirements.txt unterschiedliche Versionen zulassen?

Bereiche wie package>=1,<2 und unterschiedliche Umgebungsmarker sind möglich. Verschiedene Einschränkungen bleiben bei der Deduplizierung erhalten. Mehrere Zeilen desselben Pakets sind nicht automatisch Alternativen und können widersprüchlich sein.

Wie löse ich einen Konflikt zwischen Paketversionen?

Prüfen Sie die widersprüchlichen Einschränkungen mit Ihrem Paketmanager in der Zielumgebung. Hier können Sie Deklarationen und Bedingungen vergleichen, aber keine kompatible Versionskombination berechnen. Exakte Duplikate zu entfernen behebt keine widersprüchlichen Versionsgrenzen.

Unerwartetes Versionsergebnis?

Ausgewählte Gruppe kontrollieren

Prüfen Sie requirements.txt mit der gewünschten Gruppe und kontrollieren Sie das bestätigte Ergebnis vor der weiteren Verwendung.