Ich verwende pip 1.4.1 und versuche, ein Paket von einem lokalen Pfad zu installieren, zum Beispiel:
%Vor% Das macht, was ich will, was mehr oder weniger dem Ausführen von python /path/to/my/local/package/setup.py install
entspricht, aber ich möchte einige zusätzliche Optionen / Argumente an die Installation von setup.py meines Pakets weitergeben.
Ich verstehe aus der Pip-Dokumentation , dass dies möglich ist Die Option --install-option
, zum Beispiel:
Dieser Beitrag von der python-virtualenv Google-Gruppe schlägt vor, dass dies möglich ist.
Was ich nicht verstehe ist, wie man die übergebene "--eine-Option" aus setup.py bezieht. Ich habe versucht, sys.argv
zu betrachten, aber egal was ich für "--install-option=", sys.argv
ist immer das:
Wie kann ich die Werte der übergebenen Dinge als "--install-option" von pip install erhalten?
Sie müssen den Installationsbefehl mit einem eigenen benutzerdefinierten Befehl erweitern. In der Methode run
können Sie den Wert der Option setup.py
angeben (in meinem Beispiel verwende ich eine globale Variable).
Registrieren Sie den benutzerdefinierten Installationsbefehl mit der Funktion setup
.
Es scheint, dass die Reihenfolge Ihrer Argumente nicht
ist pip install /path/to/my/local/package --install-option="--someopt"
Es funktioniert gut und auch dokumentiert .
%Vor% Einer der häufigsten Fehler besteht darin, setup
Optionen an Pip zu übergeben, als ob Sie sie direkt an setup
übergeben. Verwenden Sie Optionen von pip wie folgt:
Das Fehlen des Gleichheitszeichens führt zu einem bekannten Fehler:
error: option --engines rabbitmq nicht erkannt
Tags und Links python pip setuptools