Certaines fonctionnalités ont été ajoutées au pip utilisé lors de l'installation de la bibliothèque Python depuis la version 7.1.
Sa fonction, appelée fichier de contraintes, n'est pas très connue, mais elle peut être très utile à certains égards.
Les fonctions du fichier de contraintes et du fichier des exigences sont très similaires et leurs formats sont exactement les mêmes.
La seule différence est que le fichier de contraintes contrôle uniquement la version et n'installe pas la bibliothèque décrite.
Par exemple, lorsque vous avez le fichier suivant
werkzeug.txt
werkzeug=== 0.11.1
Werkzeug 0.11.1 est installé lorsqu'il est utilisé comme fichier d'exigences comme suit:
pip install -r werkzeug.txt # 0.11.1 est installé
En revanche, werkzeug n'est pas installé même s'il est défini comme fichier de contraintes.
pip install -c werkzeug.txt #Rien n'est installé
Cependant, vous pouvez contrôler la version installée en l'utilisant avec l'argument comme suit.
pip install werkzeug -c werkzeug # 0.11.1 est installé
Vous pouvez également utiliser le fichier des exigences et le fichier des contraintes ensemble.
En résumé, c'est comme suit.
$ pip install -r werkzeug.txt #La version spécifiée sera installée
$ pip install -c werkzeug.txt #Rien n'est installé
$ pip install -r werkzeug.txt -c werkzeug.txt #La version spécifiée sera installée
$ pip install werkzeug -c werkzeug.txt #La version spécifiée sera installée
Le fichier de contraintes fonctionne mieux lorsqu'il est combiné avec le fichier de conditions.
Une utilisation courante de Requirements File était d'écrire la sortie de pip freeze
telle quelle. Cependant, cette méthode ne peut pas faire la distinction entre la bibliothèque installée et la bibliothèque dépendante de cette bibliothèque.
Par exemple, supposons que la bibliothèque A dépende des bibliothèques B et C. À ce moment-là, si vous gelez après l'installation de A, B et C seront affichés, et il n'y a aucun moyen de les distinguer.
$ pip install A
$ pip freeze
A==1.0.0
B==1.0.0
C==1.0.0
Ici, en décrivant uniquement les bibliothèques directement dépendantes dans le fichier de conditions et en décrivant le résultat de pip freeze
dans le fichier de contraintes, il est possible de faire la distinction entre les bibliothèques directement dépendantes et les bibliothèques indirectement dépendantes. Peut être fait.
$ 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
Dans cet article, nous avons présenté le fichier de contraintes.
Il s'agit toujours d'une nouvelle fonctionnalité, vous pourrez donc peut-être l'utiliser plus facilement que celles présentées ici. Si vous trouvez un moyen aussi pratique de l'utiliser, je vous serais reconnaissant de bien vouloir me le faire savoir.
Recommended Posts