Проблема с версией развертывания Heroku Python
Heroku не будет продвигать мою версию Python для моего приложения Django, и я не могу понять, почему... Я обновил свой python с 3.8.7 до 3.10.2 и отразил это в файле runtime.txt, и изменения явно добавлены, но, похоже, это не работает.
Из поддержки Python в heroku:
Supported runtimes
python-3.10.2 on all supported stacks
C:\Users\New User\Downloads\django-modal-ajax-crud-main\django-modal-ajax-crud-main>git push heroku main
Enumerating objects: 191, done.
Counting objects: 100% (191/191), done.
Delta compression using up to 4 threads
Compressing objects: 100% (173/173), done.
Writing objects: 100% (191/191), 72.21 MiB | 1.24 MiB/s, done.
Total 191 (delta 35), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
remote: -----> Python app detected
remote: -----> Using Python version specified in runtime.txt
remote: ! Requested runtime ("python-3.10.2") is not available for this stack (heroku-20).
remote: ! Aborting. More info: https://devcenter.heroku.com/articles/python-support
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to whispering-oasis-59527.
remote:
To https://git.heroku.com/whispering-oasis-59527.git
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/whispering-oasis-59527.git'
Я действительно развернул 3.10.2 сейчас, поэтому он доступен
В вашем вопросе, похоже, есть ложная ошибка, которая объясняется в конце вашего вывода
Requested runtime ("python-3.10.2") is not available for this stack (heroku-20).
...
.. (pre-receive hook declined)
docker documentaion говорит:
Формат runtime.txt чувствителен к регистру и не должен включать пробелы. Вы также должны указать все три компонента номера версии (major, minor и patch) в runtime.txt.
.Если вы не будете следовать этому формату, ваше приложение не удастся развернуть.
поэтому убедитесь, что нет пробелов или новых строк, и всегда следите за поддерживаемыми режимами выполнения
Дополнительно
Вы можете удалить runtime.txt,
app.json должен иметь "image": "heroku/python" с no version или python в ключевых словах,
установите версию по умолчанию 3.9.10,
и затем вы можете обновить с помощью runtime.txt
Прежде всего: убедитесь, что ваше приложение работает правильно на локальной машине
это также может быть ошибкой зависимости, как это первый комментарий к этому ответу
Ваши приложения и зависимости сборки должны быть работоспособны при развертывании
У меня было нечто подобное, мне пришлось использовать следующую команду, чтобы отладить ее немного больше. Это не ответ, но, возможно, это поможет вам приблизиться?
Примечание: у меня эта ошибка возникла в результате моей статической фазы collect.
heroku config:set DEBUG_COLLECTSTATIC=1