在使用其他开发人员编写的Pipfile时,我发现了以下深奥的构造:
package =“〜= 3.4.2.17” 这是什么意思?我认为,这是否意味着 任何 版本,而不是3.4.2.17?
package =“ == 1.12.0” 这与package =“ 1.12.0”有何不同?
通常,指定版本号或其范围的正确方法是什么?
有专门的git项目https://github.com/pypa/pipfile,仅用于Pipfile规范。但是,它没有解释这些构造。
可能会假设指定的值是错误的。但是pipenv吞下了它们而没有错误消息,因此这不太可能。
答案 0 :(得分:1)
版本描述格式在PEP 440 — Version Identification and Dependency Specification中指定。
~=3.4.2.17
(兼容的发布条款)是指3.4.2.*
的版本,该版本大于或等于3.4.2.17
==1.12.0
(版本匹配子句)的意思确实是版本1.12.0
,但其中包含有关通配符工作原理的一些详细信息,这在PEP文档中进行了解释。答案 1 :(得分:0)
来自https://www.python.org/dev/peps/pep-0440/的以下内容:
~=
兼容==
匹配,可能.*
!=
不包括<=, >=
包含(订购)<, >
互斥(已订购)===
任意平等。逗号(,
)表示逻辑和。