请在Pipfile中说明版本编号

时间:2019-06-17 09:15:31

标签: python pipenv

在使用其他开发人员编写的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吞下了它们而没有错误消息,因此这不太可能。

2 个答案:

答案 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/的以下内容:

  • ~=兼容
  • ==匹配,可能.*
  • !=不包括
  • <=, >=包含(订购)
  • <, >互斥(已订购)
  • ===任意平等。

逗号(,)表示逻辑