如何安装最低版本的依赖项

时间:2019-07-19 00:47:05

标签: python pip integration-testing dependency-management

问题

在给定了一些版本说明符的情况下,如何使用pip(或与此相关的任何其他工具)安装最低版本的依赖项。因此,如果我要指定requests >=2.0, <3.0,则实际上我想安装requests==2.0

动机

创建Python软件包时,您可能希望使用户能够在各种环境中与其进行交互。这意味着您经常会声称支持给定依赖项的许多版本。例如,可能声称他们的软件包支持requests>=2.0。这里的问题是,要负责任地声明这一点,我们需要某种方式来测试我们的程序包既可以与requests==2.0一起使用,也可以测试最新版本以及介于两者之间的任何版本。

不幸的是,我认为没有一个好的方法可以测试一个人对所有可能的依赖关系组合的支持,但是您至少可以尝试测试依赖关系的最大和最小版本。

为解决此问题,我通常创建一个requirements.min.txt文件,其中包含我所有依赖关系的最低版本,以便在我要测试我的更改没有破坏对旧版本的支持时可以安装这些文件。因此,如果我声称支持requests>=2.0,我的requirements.min.txt文件将有requests==2.0

这种针对一个人的最小依赖集进行测试的解决方案让人感到混乱。有没有人找到好的解决方案?

1 个答案:

答案 0 :(得分:0)

不是完整的答案,但是可以帮助您入门...

pip install pkg_name_here==

这将输出pip上可用的所有版本,然后您可以将其重定向到字符串/列表并拆分版本,然后使用某种条件语句安装介于您支持的最小/最大版本之间的任何版本