Получить требования пакета в PyPI без его установки?
Мне нужно что-то вроде следующего:
pip showrequirements tensorflow
Это вернет что-то, что позволит мне проанализировать имена требуемых пакетов и требуемых версий:
astor>0.6, tensorboard>1.0.11, etc.
pip получает эту информацию в той или иной форме во время установки и загрузки команды. Я могу видеть, где это происходит в коде... но прежде чем перейти к использованию внутреннего кода pip, есть ли простой API или существующая библиотека, которая может это сделать?
изменить: я не могу установить пакет, чтобы увидеть это, поэтому пип-шоу не будет работать. Одно (хакерское) решение - анализ результатов загрузки pip.
Спасибо!
2 ответа
pip show <package_name>
перечислит зависимости в разделе "Требуется". Смотрите документацию.
Редактировать:
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'])
Так что раньше было --no-install
флаг в более старой версии pip, но больше не. pip show
покажет вам свойство "Требуется", но только для пакетов, установленных в вашей среде (системе или в вашем venv), где, кажется, вы хотите проверить требования перед установкой. Так что, к сожалению, я думаю, что нет хорошего способа выполнить то, что вы ищете.