Pip: Lege Dependency_Links nicht ab und lasse pip bei der Installation von git . eine Requirements.txt-Datei verwenden

Erstellt am 2. Apr. 2015  ·  3Kommentare  ·  Quelle: pypa/pip

Beim Versuch, einen einfachen Weg zu finden, Python-Skripte innerhalb einer Organisation zu verteilen, ist die vorgeschlagene Situation mit pip, wie sie durch die veralteten Nachrichten impliziert wird, absurd.

Sie können ein einzelnes Paket _leicht_ auf einem Git-Server verteilen (was die meisten Organisationen haben) ... aber Sie können ein Paket nicht einfach verteilen, das von einigen anderen internen Paketen abhängen könnte.

Wenn pip die Verarbeitung von Dependency_Links entfernt, wird diese Art der Verteilung völlig unmöglich - was für mich in starkem Kontrast zu etwas wie npm das dies absurd einfach macht.

Sicher, machen Sie es nicht implizit - aber es muss einen einfachen Weg geben, wie ich einem Kollegen einen einzeiligen Befehl senden kann, der ein Paket mit einer Reihe anderer Git-Abhängigkeiten pip installiert.

Die ideale Lösung wäre eine Möglichkeit, pip zu zwingen, die Datei requirements.txt aus einem Git-Repository zu verarbeiten, damit das Repository seine anderen Anforderungen speziell definieren könnte (da dies definitiv eine Bibliothek in einem Git-Repository tut).

Perfekt wäre so etwas wie:
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git

Vielleicht eine Aufforderung für die nicht vertrauenswürdigen Anforderungen geben?

auto-locked

Hilfreichster Kommentar

@dstufft Was ist dieser Ersatz?

Ich habe zwei Pakete PackageA und PackageB, die in privaten Git-Repositorys gespeichert sind, und eine Anwendungs-App. App hängt von PackageA ab und PackageA hängt von PackageB ab. Ich habe keine Möglichkeit gefunden, PackageB automatisch als Abhängigkeit von PackageA zu installieren, wenn die App-Anforderungen installiert werden.

Alle 3 Kommentare

Wir werden Abhängigkeitslinks nicht entfernen, bis der Ersatz für sie implementiert ist (den PyPI versteht und erzwingen kann, dass Sie keine Pakete hochladen, die sich auf sie verlassen).

@dstufft Was ist dieser Ersatz?

Ich habe zwei Pakete PackageA und PackageB, die in privaten Git-Repositorys gespeichert sind, und eine Anwendungs-App. App hängt von PackageA ab und PackageA hängt von PackageB ab. Ich habe keine Möglichkeit gefunden, PackageB automatisch als Abhängigkeit von PackageA zu installieren, wenn die App-Anforderungen installiert werden.

@connorbode wie wäre es mit dem Einrichten eines Devpi-Index mit den Releases, dann können Sie pip auf das Devpi als Index verweisen und benötigen keine Abhängigkeitslinks und es wird auch pypi in Ihrem Arbeitsnetzwerk spiegeln / zwischenspeichern

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen