Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Requirements.txt greater than equal to and then less than?

I have this line in my requirements file

django>=1.10,<1.11 

Does that mean I need to have Django version >= 1.10 and then less than 1.11?

like image 601
Chris Avatar asked Jun 13 '18 16:06

Chris


People also ask

What does >= mean in requirements txt?

It means it will select the latest version of the package, greater than or equal to 0.6. 10, but still in the 0.6. * version, so it won't download 0.7. 0 for example.

Where is Pip requirements txt?

Typically the requirements. txt file is located in the root directory of your project. Notice we have a line for each package, then a version number. This is important because as you start developing your python applications, you will develop the application with specific versions of the packages in mind.


1 Answers

Yes. The pip manual [doc] has a section on the format of "requirement specifiers". These are documented in PEP-508 [pep] and PEP-440 [pep]:

The comparison operator determines the kind of version clause:

  1. ~=: Compatible release clause
  2. ==: Version matching clause
  3. !=: Version exclusion clause
  4. <=, >=: Inclusive ordered comparison clause
  5. <, >: Exclusive ordered comparison clause
  6. ===: Arbitrary equality clause.

The comma (",") is equivalent to a logical and operator: a candidate version must match all given version clauses in order to match the specifier as a whole.

So in your case it means that the Django version is 1.10 or higher and not 1.11 or higher (so 1.10 is fine, 1.10.1, as well, but not 1.11, 1.11.1, or 2.0.1).

like image 159
Willem Van Onsem Avatar answered Sep 19 '22 21:09

Willem Van Onsem