【发布时间】:2018-11-23 07:49:02
【问题描述】:
我的需求文件中有这一行
django>=1.10,<1.11
这是否意味着我需要 Django 版本 >= 1.10 然后低于 1.11?
【问题讨论】:
标签: python django requirements.txt
我的需求文件中有这一行
django>=1.10,<1.11
这是否意味着我需要 Django 版本 >= 1.10 然后低于 1.11?
【问题讨论】:
标签: python django requirements.txt
是的。 pip manual [doc] 有一个关于“需求说明符”格式的部分。这些记录在PEP-508 [pep] 和PEP-440 [pep]:
比较运算符确定版本子句的种类:
~=:兼容的释放条款==:版本匹配子句!=:版本排除条款<=、>=:包含有序比较子句<、>:排他性排序比较子句===:任意相等子句。逗号 (
",") 等效于逻辑与 运算符:候选版本必须匹配所有给定的版本子句,才能匹配整个说明符.
因此,在您的情况下,这意味着 Django 版本是 1.10 或更高版本,而不是 1.11 或更高版本(所以1.10 很好,1.10.1 也可以,但不是1.11,1.11.1 , 或2.0.1)。
【讨论】:
setuptools version <45.0.0 or >=49.9.1>
!= 45.*, != 46.*, !=47.*, !=48.*, !=49.1.*, !=49.1.*, !=49.2.*, !=49.3.*, !=49.4.*, !=49.5.*, !=49.6.*, !=49.7.*, !=49.8.*, !=49.9.0.*
49.1.1(不是49.9.1)。所以我用了这个:setuptools !=45.*, !=46.*, !=47.*, !=48.*, !=49.1.0。谢谢!