我最近以任何理智的方式了解pip
does not resolve transitive dependencies。这意味着在安装一个软件包之后,它的一些依赖关系的依赖关系可能实际上不会被满足。在安装时检测Python传递依赖性问题?
有没有办法以编程方式检查所有安装的软件包的依赖关系在安装后是否真正满足?
具体来说,我希望能够创建一个virtualenv,安装一些软件包,然后验证所有安装的软件包实际上是否具有所需的依赖关系。
编辑:这里是为了更好地说明这个问题的例子。假设包A
取决于包B
和C
,两者都取决于包D
,可能具有不同的版本范围。当安装A
时,pip将任意选择D
指定的版本范围之一来满足。例如,B
对D
的依赖可能会得到满足,但C
的D
所需版本可能不满足。我想检测是否存在这样的问题。
是的,使用需求文件并固定您的版本号。 –
@BurhanKhalid请看上面的问题。我正在寻求一种“在安装时检测Python传递依赖性问题”的方法。我不是要求一种方法来避免传递依赖问题,尤其是不能通过手动解决依赖问题。 – augurar