显示与pip的反向依赖关系?

发布于 2021-01-29 17:13:27

是否有可能显示反向依赖关系pip

我想知道哪个包需要包foo。以及foo此软件包需要哪个版本。

关注者
0
被浏览
43
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    对于使用pip的python
    API已安装的软件包,这是可能的。该pip.get_installed_distributions功能可以为您提供当前安装的所有第三方软件包的列表。

    # rev_deps.py
    import pip
    import sys
    
    def find_reverse_deps(package_name):
        return [
            pkg.project_name for pkg in pip.get_installed_distributions()
            if package_name in {req.project_name for req in pkg.requires()}
        ]
    
    if __name__ == '__main__':
        print find_reverse_deps(sys.argv[1])
    

    此脚本将输出需要指定软件包的软件包列表:

    $python rev_deps.py requests
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看