Requirements.txt против Pipfile в развертывании веб-приложения heroku flask? - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь развернуть веб-приложение Flask на Heroku, и я обнаружил противоречивую информацию о том, какие файлы мне нужно включить в репозиторий git.

Мое веб-приложение создано в виртуальном environment (venv), поэтому у меня есть Pipfile и Pipfile.lock. Нужен ли мне еще requirements.txt? Будет ли один заменять другой?

Другой связанный с этим вопрос, который у меня есть, - что произойдет, если определенный пакет не удастся установить в виртуальной среде: могу ли я вручную добавить его в requirements.txt или Pipfile? Будет ли это эффективно делать то же самое, что и pipenv install ..., или делать что-то еще, помимо добавления пакета в список требований (учитывая, что Heroku устанавливает пакеты при развертывании).

1 Ответ

1 голос
/ 04 августа 2020

Вам не нужно requirements.txt.

Pipfile и Pipfile.lock, которые использует Pipenv, предназначены для замены requirements.txt. Если вы включите все три файла, Heroku проигнорирует requirements.txt и просто будет использовать Pipenv.

Если у вас есть проблемы со сборкой с конкретной библиотекой локально, я призываю вас покопаться в этом и заставить все работать на вашем локальном компьютере . Но технически это не требуется ... пока Pipfile и Pipfile.lock содержат правильную информацию (включая хэши), Heroku попытается установить ваши зависимости.

...