6

我需要以下内容:

pip showrequirements tensorflow

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

astor>0.6, tensorboard>1.0.11, etc.

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

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

谢谢!

4

2 回答 2

7
pip show <package_name>

将在“Requires”部分列出依赖项。请参阅文档

编辑:

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'])
于 2018-05-16T22:44:40.340 回答
1

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

于 2018-05-16T22:49:30.600 回答