PIP installiert das Paket immer neu, wenn eine bestimmte SVN-Revision verwendet wird

8

PIP lädt und installiert ein Paket immer dann, wenn eine bestimmte SVN-Revision angegeben ist (wodurch der Synchronisierungsvorgang erheblich verlangsamt wird).

Gibt es einen Weg dazu? Normalerweise erkennt Pip, dass das Paket bereits in der Umgebung installiert ist, und fordert zur Verwendung von --upgrade auf.

Meine pip_requirements Datei hat die folgende Zeile:

%Vor%

Danke für Ihre Hilfe!

Antwort

  • Muss den Eikennnamen als genauen Python-Paketnamen angeben.
  • Darf nicht -e flag verwenden.
  • Funktioniert nicht mit der PIP-Version 0.7 , funktioniert auf 1.0.2 .
Yuji 'Tomita' Tomita 01.11.2011, 19:31
quelle

1 Antwort

3

Ich habe am vergangenen Wochenende tatsächlich mit dem Pip herumgespuckt und ich glaube, ich habe die Erklärung für deine Pip-Probleme. Das Problem ist nur eine Einschränkung in Pip selbst. Aufgrund der Art und Weise, wie der Installationsprozess funktioniert, muss der #egg=[egg-name] -Anteil korrekt zum Namen des tatsächlichen Projekts benannt werden, der innerhalb des Namens von Setup.py kwarg identifiziert wird (dies ist der Name, der auf PyPI bekannt ist).

Kurze Antwort

Ihre Linie:

%Vor%

Sollte sein:

%Vor%

Lange Antwort

Der Installationsvorgang macht tatsächlich folgendes zu meinem Verständnis (Ian Bicking schlägt mich nieder, wenn ich falsch liege :-P)

  1. Wenn es Ihre Anforderung erhält, bestimmt es, dass die Verbindung zu einem VCS ist, das es basierend auf der Struktur vcs + [url] kennt.
  2. Es prüft den Code in ein temporäres Verzeichnis in Ihrer Umgebung.
  3. Es läuft die setup.py (ich glaube sowohl eier_info und installieren)
  4. Temporäres Verzeichnis für ausgecheckten Code wird aus dem Dateisystem entfernt

Wenn also Schritt 3 abgeschlossen ist und Ihre ausgecheckte Quelle installiert ist, wird Django als django (ohne Berücksichtigung der Groß- und Kleinschreibung) erkannt. Wenn Sie jedoch Ihre aktuelle Anforderungszeile beibehalten, sucht pip nach Django1.4A . Wenn Sie kein Paket finden, das diesem Namen entspricht, überprüft es den Quellcode erneut und versucht, es zu installieren.

    
ravenac95 11.01.2012, 09:02
quelle

Tags und Links