web-dev-qa-db-fra.com

Requirements.txt supérieur ou égal à puis inférieur à?

J'ai cette ligne dans mon fichier d'exigences

Django>=1.10,<1.11

Est-ce que cela signifie que je dois avoir Django version >= 1.10 puis moins de 1.11?

22
Chris

Oui . Le pip manuel [doc] a une section sur le format de " spécificateurs d'exigence". Ceux-ci sont documentés dans PEP-508 [pep] et PEP -404 [pep] :

L'opérateur de comparaison détermine le type de clause de version:

  1. ~=: Clause de sortie compatible
  2. ==: Clause de correspondance de version
  3. !=: Clause d'exclusion de version
  4. <=, >=: Clause de comparaison ordonnée inclusive
  5. <, >: Clause de comparaison ordonnée exclusive
  6. ===: Clause d'égalité arbitraire.

La virgule (",") est équivalent à un opérateur logique et : une version candidate doit correspondre à toutes les clauses de version données afin de correspondre au spécificateur dans son ensemble.

Donc, dans votre cas, cela signifie que la version Django est 1.10 ou supérieur et non 1.11 ou supérieur (donc 1.10 c'est bien, 1.10.1, aussi, mais pas 1.11, 1.11.1, ou 2.0.1).

24
Willem Van Onsem