因此,开发一个应用程序时,它被认为是很好的做法,指定 最小(最少限制)需要依赖于版本setup.py的,install_requires。那么,我怎么知道我的项目实际上依赖于我的依赖项的哪些版本?
有没有办法自动确定这一点?如果没有,是否有一种很好的方法来测试我指定的依赖范围的上限和下限?
理想情况下,我更愿意专注于实际开发,而不是手动跟踪我的依赖项的每个新版本并筛选发布历史以找出我使用的功能首次引入的时间。
小智 0
您不需要指定最低版本,但您应该关注性能更好的依赖项。始终牢记这一点。
如果minimal表示依赖项的数量,您可以使用一个包,例如pipdeptree显示环境中已安装库的依赖项树。您可以只在需求中列出顶级库,其他依赖项将与这些顶级库一起安装。
当您安装该库并只需键入时,pipdeptree您将看到类似的输出,如下所示:
python-gitlab==1.8.0
- requests [required: >=2.4.2, installed: 2.22.0]
- certifi [required: >=2017.4.17, installed: 2019.6.16]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.9, installed: 2.8]
- urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.3]
- six [required: Any, installed: 1.11.0]
python-jenkins==1.7.0
- multi-key-dict [required: Any, installed: 2.0.3]
- pbr [required: >=0.8.2, installed: 1.10.0]
- requests [required: Any, installed: 2.22.0]
- certifi [required: >=2017.4.17, installed: 2019.6.16]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.9, installed: 2.8]
- urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.3]
- six [required: >=1.3.0, installed: 1.11.0]
Run Code Online (Sandbox Code Playgroud)
所以你的要求可能是这样的:
python-gitlab==1.8.0
python-jenkins==1.7.0
Run Code Online (Sandbox Code Playgroud)
如果您想指定最低可能版本,那么我不知道。