Seit der Installation der Python-Bibliothek seit Version 7.1 wurden dem Pip einige Funktionen hinzugefügt.
Die als Constraints File bezeichnete Funktion ist nicht sehr bekannt, kann jedoch in gewisser Weise sehr nützlich sein.
Die Funktionalität von Constraints File und Requirements File ist sehr ähnlich und ihre Formate sind genau gleich.
Der einzige Unterschied besteht darin, dass die Einschränkungsdatei nur die Version steuert und die beschriebene Bibliothek nicht installiert.
Zum Beispiel, wenn Sie die folgende Datei haben
werkzeug.txt
werkzeug=== 0.11.1
Werkzeug 0.11.1 wird installiert, wenn es wie folgt als Anforderungsdatei verwendet wird:
pip install -r werkzeug.txt # 0.11.1 ist installiert
Andererseits wird werkzeug nicht installiert, selbst wenn es als Einschränkungsdatei festgelegt ist.
pip install -c werkzeug.txt #Es ist nichts installiert
Sie können die installierte Version jedoch steuern, indem Sie sie zusammen mit dem folgenden Argument verwenden.
pip install werkzeug -c werkzeug # 0.11.1 ist installiert
Sie können die Anforderungsdatei und die Einschränkungsdatei auch zusammen verwenden.
Zusammenfassend ist es wie folgt.
$ pip install -r werkzeug.txt #Die angegebene Version wird installiert
$ pip install -c werkzeug.txt #Es ist nichts installiert
$ pip install -r werkzeug.txt -c werkzeug.txt #Die angegebene Version wird installiert
$ pip install werkzeug -c werkzeug.txt #Die angegebene Version wird installiert
Die Einschränkungsdatei funktioniert am besten in Kombination mit der Anforderungsdatei.
Eine häufige Verwendung der Anforderungsdatei bestand darin, die Ausgabe von "pip freeze" so zu schreiben, wie sie ist. Diese Methode kann jedoch nicht zwischen der installierten Bibliothek und der abhängigen Bibliothek dieser Bibliothek unterscheiden.
Angenommen, eine Bibliothek mit dem Namen A hängt von den Bibliotheken mit den Namen B und C ab. Wenn Sie zu diesem Zeitpunkt nach der Installation A einfrieren, werden B und C ausgegeben, und es gibt keine Möglichkeit, sie zu unterscheiden.
$ pip install A
$ pip freeze
A==1.0.0
B==1.0.0
C==1.0.0
Indem hier nur die direkt abhängigen Bibliotheken in der Anforderungsdatei und das Ergebnis des "Pip Freeze" in der Constraints-Datei beschrieben werden, kann zwischen den direkt abhängigen Bibliotheken und den indirekt abhängigen Bibliotheken unterschieden werden. Kann gemacht werden.
$ cat requirements.txt
A
$ cat constraints.txt
A==1.0.0
B==1.0.0
C==1.0.0
$ pip install -r requirements.txt -c constraints.txt
In diesem Artikel haben wir die Constraints-Datei vorgestellt.
Es ist immer noch eine neue Funktion, sodass Sie sie möglicherweise bequemer als die hier vorgestellten verwenden können. Wenn Sie eine so bequeme Möglichkeit finden, es zu verwenden, wäre ich Ihnen dankbar, wenn Sie es mich wissen lassen könnten.
Recommended Posts