在requirements.txt中允许不同的版本?

时间:2017-12-23 11:57:56

标签: python python-3.x pip pypi requirements.txt

我正在开发一个Python项目,我们有一个requirements.txt文件,其中指定了包的确切版本

我们正在考虑是否使用this syntax来安装不同的版本。这是推荐的吗?或者继续使用每个包的特定版本更安全?我们可以相信,当在次要版本或补丁版本之间切换时,PyPI包的API保持不变吗?

设定:

  • Python 3.5
  • 我们使用PyInstaller来构建包
  • Travis CI远程使用

1 个答案:

答案 0 :(得分:1)

如果您的依赖包已经足够成熟以进行严格的版本控制,那么它们可能遵循semantic versioning方法。

使用这种方法并引用上面的链接,有3个版本号

MAJOR version when they make incompatible API changes,
MINOR version when they add functionality in a backwards-compatible manner, and
MAINTENANCE version when they make backwards-compatible bug fixes.

因此,在这种情况下,您可以使用上面提到的语法来锁定包以使用包的最后一个不可破坏的api版本,即:

foo>5, <5.7

(因为您知道在5.7中发生了重大变化,或5.8中有您不需要的新功能。