我最近了解到,pip
它不能以任何理智的方式解决传递依赖。这意味着在安装一个包之后,它的某些依赖项的依赖项可能实际上并没有得到满足。
有没有办法以编程方式检查所有已安装包的依赖项在安装后是否真正得到满足?
具体来说,我希望能够创建一个 virtualenv,将一些包安装到其中,然后验证所有安装的包是否确实具有所需的依赖项。
编辑:这是一个更好地说明问题的示例。假设 packageA
依赖于 packagesB
和C
,两者都依赖于 package D
,可能具有不同的版本范围。安装时A
,pip 会任意选择指定的版本范围之一D
来满足。例如,可能满足B
对的依赖D
,但可能不满足对C
所需的版本D
。我想检测是否存在此类问题。