При попытке развернуть мое приложение Flask, расположенное в репозитории GitHub, на Heroku, мне было трудно выполнить эту задачу. Я хотел развернуть его на Heroku, так как он известен своим простым, быстрым и бесплатным хостингом. Когда я посетил документацию Heroku, в ней был указан только один способ размещения приложения Python/Flask — использование интерфейса командной строки Heroku и отправка кода в Heroku. Однако, поскольку у меня уже был репозиторий на GitHub, я не хотел каждый раз отправлять свои новые изменения в 2 разных репозитория. В этом случае документация Heroku показывает только, как интегрировать GitHub в Heroku, без инструкций о том, как подготовить приложение Flask, чтобы Heroku мог его запустить. Поэтому сначала я следовал инструкциям на Heroku docs. Собрав все части воедино, я, наконец, развернул свое приложение, и вот шаги, которые я использовал:

1. Создав новое приложение на Heroku, интегрируйте его с репозиторием GitHub, следуя указаниям в Документации Heroku.

2. Самая важная часть — это настройка вашего Procfile. В корневом каталоге проекта создайте текстовый файл с именем Procfile без расширения (без .txt и т. д.).

3. Мы собираемся использовать Gunicorn, чтобы Heroku мог запускать ваше приложение Flask при чтении из Procfile. Мы объявим тип процесса как web, а затем команду, необходимую для запуска приложения. В целом Procfile будет выглядеть следующим образом:

web: gunicorn PACKAGE_NAME:APP

PACKAGE_NAME — это модуль, в котором находится экземпляр вашего приложения. APP — это экземпляр приложения, который вы обычно используете для локального запуска приложения.

Мой пример:

web: gunicorn “flask-app:create_app()”

4. Отправьте Procfile в свой репозиторий GitHub и разверните приложение на Heroku с новыми изменениями (если ваше приложение еще не настроено на автоматическое развертывание).