Сложности развертывания приложения Flask в Heroku - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь развернуть приложение Flask в Heroku и продолжаю получать эту ошибку.Кто-нибудь, кто может мне помочь с этим?

Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 4 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (9/9), 3.06 KiB | 184.00 KiB/s, done.
Total 9 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote:  !     No default language could be detected for this app.
remote:                         HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
remote:                         See https://devcenter.heroku.com/articles/buildpacks
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to expensetracker-api-heroku.
remote:
To https://git.heroku.com/expensetracker-api-heroku.git
 ! [remote rejected] secret-branchh -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/expensetracker-api-heroku.git'

1 Ответ

0 голосов
/ 25 сентября 2019

На основе вопроса ОБНОВЛЕНО сообщение об ошибке указывает на проблему:

Для этого приложения не найден язык по умолчанию.

Вы должны сообщить Heroku, какое приложение вы развертываете.Для приложений Python (например, Flask) вам необходимо иметь один из следующих файлов в каталоге git верхнего уровня, как описано в разделе Ожидаемые файлы для Python в Развертывание приложений Python и Django вHeroku документы:

Heroku автоматически определяет ваше приложение как приложение Python, если любой из следующих файлов присутствует в его корневом каталоге:

  • requirements.txt
  • setup.py
  • Pipfile

Если ни один из этих файлов отсутствует в корневом каталоге вашего приложения, Pythonbuildpack не сможет правильно идентифицировать ваше приложение.

Обратите внимание на предупреждение в конце, что, если ни один из файлов не присутствует, сборка Python завершится ошибкой.

Самое простое - добавить файл requirements.txt.Вы можете сгенерировать это, выполнив:

pip freeze > requirements.txt

и это выглядит так:

Flask==1.0.2
Flask-Scss==0.5
gunicorn==19.7.1
isort==4.3.3
itsdangerous==0.24
Jinja2==2.10.1
...

Добавьте это на верхний уровень вашего каталога git.

Затем для Flask вам нужно добавить еще пару файлов:

  • runtime.txt

    Это указывает версию вашего приложения на Python,как описано в Указание Python Runtime

    python-3.7.3
    
  • Procfile

    Это описано в этом посте Procfile Heroku Flask TutorialЗначение , и я предлагаю вам взглянуть.Содержание зависит от того, как вы создали экземпляр своего приложения Flask, и выглядит это так:

    web: gunicorn app:app --log-file=-
    

Если у вас все еще есть проблемы, я настоятельно рекомендую ознакомиться с учебными документами по Heroku., особенно Начало работы на Heroku с Python .

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