Дерево установки Python - PullRequest
       10

Дерево установки Python

0 голосов
/ 15 октября 2018

Я хотел бы получить список всех зависимостей, требуемых набором требований. Не из того, что установлено, а из того, что требуется (в примере setup.py).

Если есть конфликты, я бы тоже хотел их получить.Ближайший инструмент, который я нашел, это pip-compile , проблема в том, что он терпит неудачу, когда обнаруживает первый конфликт.

Все остальные инструменты, которые я нашел (pip freeze, pydeptree, pipenv), отражают то, чтоустановлен, а не то, что требуется.

Мой стимул состоит в том, чтобы программно получить все требования, попытаться разрешить конфликты (например, разрешить старшую младшую версию), создать require.txt и установить его.

1 Ответ

0 голосов
/ 15 октября 2018

pip-compile из pip-tools делает это:

Предположим, у вас есть проект Flask, и вы хотите прикрепить его для производства.Если у вас есть setup.py с install_requires=['Flask'], тогда запустите pip-compile без каких-либо аргументов:

$ pip-compile
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file requirements.txt setup.py
#
click==6.7                # via flask
flask==0.12.2
itsdangerous==0.24        # via flask
jinja2==2.9.6             # via flask
markupsafe==1.0           # via jinja2
werkzeug==0.12.2          # via flask

pip-compile произведет ваш requirements.txt со всеми зависимостями Flask (и всеми основными зависимостями)Прикололся.Вы должны поставить requirements.txt под контроль версий.

pip-compile также может принимать файлы требований в качестве входных данных.

pip-sync, из того же пакета, синхронизирует virtualenv с тем, чтов файлах требований.Это включает в себя удаление пакетов из virtualenv, которых нет в предоставленных файлах требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...