Heroku/Django - Не удалось обнаружить язык по умолчанию для этого приложения

Я впервые пытаюсь развернуть приложение Django через Heroku.

Когда я запускаю git push heroku master, он возвращает эту ошибку:

remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
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:  !
remote:  ! ## Warning - The same version of this code has already been built: e6acd22b123b939729546f4f06f368a8855a4744
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version e6acd22b123b939729546f4f06f368a8855a4744
remote:  ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote:  !
remote:  ! If you are developing on a branch and deploying via git you must run:
remote:  !
remote:  !     git push heroku <branchname>:main
remote:  !
remote:  ! This article goes into details on the behavior:
remote:  !   https://devcenter.heroku.com/articles/duplicate-build-version
remote: 
remote: Verifying deploy...
remote: 
remote: !       Push rejected to vygrapp.
remote: 
To https://git.heroku.com/vygrapp.git
 ! [remote rejected] master -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/vygrapp.git'

После аналогичных проблем на SO я полагаю, что у меня правильно настроена файловая структура - git развернут из того же места, что и Procfile и т.д. У меня также есть файл requirements.txt, который, как я полагаю, сообщает Heroku, что это приложение на python - так что я не могу понять, почему buildpack не работает.

enter image description here

Heroku ищет ваши Procfile, requirements.txt и runtime.txt только в корневом каталоге вашего проекта. Переместите их на уровень выше, чтобы они находились рядом с вашими .gitattributes.

Это должно позволить Heroku определить, что это проект Python и преодолеть текущую ошибку.

Но ваш проект все равно не запустится. Из коробки, Heroku ожидает, что ваш проект Django будет also находиться в корневом каталоге вашего репозитория. Возможно, вы сможете заставить его работать из подкаталога, поиграв с переменной окружения DJANGO_SETTINGS_MODULE и / или PYTHONPATH, но самое простое решение - переместить весь ваш проект на каталог выше.

Я предлагаю вам переместить все из anybody/anybody1/ в anybody/, затем удалить пустой каталог anybody/anybody1/.

Затем зафиксировать и переразвернуть.

Вернуться на верх