Im Zweifelsfall die uv.lock-Datei löschen
· Quelle: Simon Willison
Der Autor berichtet, dass er seit dem Einsatz von Python 3.15 wiederkehrende Fehler in Zusammenhang mit Abhängigkeiten festgestellt hat. Seine Lösung besteht darin, die Datei uv.lock zu löschen, sobald Unklarheiten auftreten. In Bibliotheksprojekten wird diese Datei üblicherweise nicht mit einbezogen, weil das Festlegen konkreter Versionen die Konsumenten beeinträchtigen kann. Beim Ausführen von Befehlen wie uv run pytest erzeugt der Paketmanager UV jedoch automatisch eine uv.lock, die im Verzeichnis verbleibt und durch die .gitignore nicht versioniert wird.
Das Problem tritt auf, wenn der Lock eine Version einer Abhängigkeit enthält, für die noch keine kompatible Wheel für Python 3.15 verfügbar ist. Ein aktuelles Beispiel zeigt, dass die Bibliothek watchfiles 1.1.1 versucht, mit PyO3 zu kompilieren, dessen maximaler Support bis Python 3.14 reicht, was zu einem Build‑Fehler führt. Durch Löschen der uv.lock und erneutes Ausführen des Tests löst UV die Abhängigkeiten neu auf und wählt Versionen, die mit dem aktuellen Interpreter kompatibel sind.
Diese Vorgehensweise verhindert Unterbrechungen im Entwicklungs- und Testfluss und sorgt dafür, dass CI/CD‑Umgebungen automatisch auf kompatible Versionen aktualisiert werden, ohne umfangreiche manuelle Änderungen an den Lock‑Dateien vorzunehmen. Sie trägt zudem zur Konsistenz zwischen Python‑Versionen und Paketen bei, was für die Stabilität von Projekten, die auf neue Sprachversionen migrieren, entscheidend ist.
Originalartikel lesen auf Simon Willison
Diese Zusammenfassung ist eine informationelle Synthese von dataqbs.com. Alle Rechte am Originalinhalt liegen beim Autor und dem genannten Medienunternehmen. Wir handeln ausschließlich als Kuratoren von Technologie-Nachrichten und beanspruchen keine Urheberschaft.