pip freeze без зависимостей установленных пакетов

когда я делаю pip freeze Я получаю пакеты, которые я явно установил, плюс те пакеты, которые являются зависимостями этих пакетов.

например:

$ pip install fabric
...
$ pip freeze
Fabric==1.0.1
paramiko==1.7.6
pycrypto==2.3

хорошо, но затем я перехожу к установке этих требований.txt в другой среде с pip install Я бы получил тот же результат с удалением последних 2 строк.

Итак, мой вопрос: как я могу создать максимально упрощенные требования.txt, где не отображаются все вычисляемые зависимости?

2 ответов


сейчас есть (отказ от ответственности: я сделал это).

все, что вам нужно, это установить pip-chill из PyPI и run pip-chill из среды Python.

Если вы чувствуете себя авантюрным и не хотите закреплять версии (или хотите использовать pip-compile), вы можете использовать pip-chill --no-version и это даст вам минимальные требования для текущей среды.

https://github.com/rbanffy/pip-chill


нет способа создать " самые упрощенные требования.txt " с pip - и я не знаю, понадобится ли вам это в этом случае.

Это хорошо все пакеты в требованиях.txt, потому что вы уверены в том, какие версии зависимостей работают с вашей средой.

подумайте о том, что paramiko обновляется и нарушает обратную совместимость: у вас будут проблемы.