Pipenv: `pipenv lock -r` не является детерминированным

Созданный на 18 дек. 2017  ·  3Комментарии  ·  Источник: pypa/pipenv

Опишите свою среду

Убунту 17.04, Питон 3.5.3, пипенв 9.0.1

Ожидаемый результат

pipenv lock -r возвращает точно такой же вывод, если заданы те же Pipfile и Pipfile.lock.

Фактический результат

pipenv lock -r случайным образом переупорядочивает строки при каждом запуске. Это становится проблемой в сочетании с pipenv lock -r > requirements.txt и контролем версий, так как это может привести к requirements.txt , даже если фактических изменений нет.

Шаги для репликации

Создайте проект с Pipfile и Pipfile.lock ( мой для справки). Выполнить pipenv lock -r .

Обходной путь

Возможный обходной путь: pipenv lock -r | sort .

Все 3 Комментарий

@kennethreitz Почему это было закрыто?

отправьте запрос на извлечение, если вы хотите это исправить!

Хотя это и не является реальным решением проблемы, почему бы не генерировать requirements.txt на лету, когда вам это нужно? На самом деле, я бы сказал, что вы не должны его коммитить, так как в лучшем случае он просто дублирует то, что находится в Pipfile, а в худшем случае они будут отличаться, потому что кто-то забыл сделать pipenv lock -r > requirements.txt .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги