Python-Entwickler arbeiten an Ersatz für "requirements.txt"

Bislang definieren größere Python-Projekte ihre Abhängigkeiten üblicherweise in einem Textfile mit dem Namen “requirements.txt”. Ein neues Projekt will das mit einem Pipfile ändern und unter anderem deterministische Builds erlauben.

Wer bislang “pip install -r /Pfad/zu/requirements.txt” eingibt, installiert die für ein Projekt notwendigen Python-Abhängigkeiten, etwa Django, SQLAlchemy oder ähnliches. Ein neues Konzept will diesen Prozess mit Hilfe eines Pipfile vereinfachen und ausbauen. Die zugehörige Software befindet sich noch in Entwicklung, der aktuelle Stand lässt sich auf Github studieren.

Das Pipfile soll eine einzelne Datei sein und eine umfangreiche Syntax mitbringen. Die erlaubt es, alle möglichen Arten von Abhängigkeiten zu erklären. So soll es beispielsweise möglich sein, eine Untergruppe an Abhängigkeiten zu definieren, die nur bei Tests zum Einsatz kommt. Außerdem ermöglicht es der Ansatz, Python-Entwicklungspakete zum Beispiel direkt aus Github zu holen.

Interessant ist auch die zugehörige Lockdatei (Pipfile.lock), welche die Pipfile-Software automatisch erzeugt. Sie enthält Hashes für die verwendeten Komponenten und soll deterministische Builds ermöglichen. Dazu lässt sich das Lock etwa in einem bestimmten Moment einfrieren.

Deterministische Builds lassen sich bislang zwar schon mit der “requirements.txt” erzeugen, allerdings schlage dies laut den Pipfile-Entwicklern häufig fehl, weil die genauen Versionsnummern fehlen. Mit Pipfile sollen sich solche deterministischen Builds künftig komfortabler erzeugen lassen.

Die Entwickler hoffen zudem, dass ihr Projekt irgendwann ein fester Bestandteil in Pythons Paketmanager Pip wird. Das setze allerdings ein vollständig entwickeltes API voraus, das die Entwickler übrigens auch in Form eines Pipfile anbieten wollen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben