【问题标题】:Get the requirements of a package in PyPI without installing it? [duplicate]在不安装 PyPI 的情况下获取包的要求? [复制]
【发布时间】:2018-10-27 02:23:13
【问题描述】:

我需要类似以下的东西:

pip showrequirements tensorflow

这将返回允许我解析所需包的名称和所需版本的内容:

astor>0.6, tensorboard>1.0.11, etc.

pip 在安装和下载命令期间以某种形式获取此信息。我可以看到它在代码中发生的位置......但在我破解使用 pip 内部代码的方式之前,是否有任何简单的 API 或现有库可以做到这一点?

编辑:我无法安装包来查看这个,所以 pip show 不起作用。一种(hacky)解决方案是解析 pip 下载的输出。

谢谢!

【问题讨论】:

    标签: python pip packages pypi package-management


    【解决方案1】:
    pip show <package_name>
    

    将在“Requires”部分列出依赖项。见documentation

    编辑:

    pip show 仅适用于已安装的软件包。对于已卸载的包,PyPI 有一个JSON API

    例如:

    import json
    
    import requests
    
    package_name = 'tensorflow'
    url = 'https://pypi.python.org/pypi/' + str(package_name) + '/json'
    data = requests.get(url).json()
    
    print(data['info']['requires_dist'])
    

    【讨论】:

      【解决方案2】:

      所以在旧版本的 pip 中曾经有一个 --no-install 标志,but no longerpip show 将向您显示“Requires”属性,但仅适用于安装在您的环境(系统或您的 venv)中的软件包,您似乎想在安装之前检查需求。所以,可悲的是,我认为没有一种很好的方法来完成你正在寻找的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-18
        • 2018-05-13
        • 2015-01-28
        • 2020-06-14
        • 2014-10-19
        • 1970-01-01
        • 1970-01-01
        • 2013-09-01
        相关资源
        最近更新 更多