Эта проблема Для контекста:
В настоящее время я сталкиваюсь с проблемами, упомянутыми в этой ветке.
Я нашел решение своей проблемы, похоже, переключение интерпретаторов Python и копирование моих различных пакетов в это место.
Однако документации о том, как это сделать в Heroku, немного.
Любая помощь очень ценится :)
Что я пробовал Учитывая отсутствие документации по вышеизложенному, я пробовал следующее...
Я обнаружил, что развертывание Heroku выполняется в среде выполнения Python 3.10.8, тогда как на моем локальном компьютере была установлена версия 3.9.2.
Затем я добавил runtime.txt в корень каталога приложения в Github, в котором указано использование 3.9.2, но когда я попытался повторно развернуть сборку, это не удалось.
Следуя журналам Heroku, это приводит меня к:
-----> Building on the Heroku-22 stack
-----> Using buildpack: heroku/python
-----> Python app detected
-----> Using Python version specified in runtime.txt
! Requested runtime 'cat runtime.txt
python-3.9.2' is not available for this stack (heroku-22).
! For supported versions, see: https://devcenter.heroku.com/articles/python-support
! Push rejected, failed to compile Python app.
! Push failed
Затем из журналов я понимаю, что пакет сборки не версии 3.9.2 не поддерживается.
Затем я загрузил python 3.11.0 на свой локальный компьютер (который поддерживается, как уже упоминалось здесь).
Деактивировал текущую виртуальную среду (используя 3.9.2).
Создал новую виртуальную среду.
Перезапустите приложение локально и проверьте, работает ли оно.
Затем я добавил изменения в репозиторий git.
Затем я попытался развернуть на Heroku. Я сейчас получаю:
-----> Building on the Heroku-22 stack
-----> Using buildpack: heroku/python
-----> Python app detected
-----> Using Python version specified in runtime.txt
! Requested runtime 'cat runtime.txt
python-3.11.0' is not available for this stack (heroku-22).
! For supported versions, see: https://devcenter.heroku.com/articles/python-support
! Push rejected, failed to compile Python app.
! Push failed
Затем я перехожу к документации поддержки
Затем я пытаюсь следовать указаниям службы поддержки «Проверка версии пакета сборки», поскольку моя версия Python поддерживается в соответствии с документацией.
Я запускаю команду для своего интерфейса командной строки, который проверяет, какая версия пакета сборки у меня есть. Я получил:
=== [appnamegoeshere] BuildPack URL
heroku/python
Итак, у меня есть пакет сборки «heroku/python».
Не знаете, куда идти отсюда?
Любая помощь высоко ценится :)
@ miken32 вы правы, вероятно, это проблема с конфигурацией сервера. Учитывая, что я использую python, и, похоже, есть проблемы с пакетами, которые я пометил python. Проблема с WRT runtime.txt, я следил за этой документацией. В нем говорится: «Чтобы указать среду выполнения Python, добавьте файл runtime.txt в корневой каталог вашего приложения, в котором указывается точный номер используемой версии». Что я и сделал в Github...
Возможно, вы захотите прочитать о «почему 'Кто-нибудь может мне помочь?' это не актуальный вопрос".
@ e-driver1, проблема в том, что вы добавили в свой runtime.txt
, как описано ниже.
В документации по выбору среды выполнения сказано:
Чтобы указать среду выполнения Python, добавьте файл
runtime.txt
в корневой каталог вашего приложения, в котором указывается точный номер используемой версии:$ cat runtime.txt python-3.10.8
Часть cat runtime
— это команда, которую вы можете запустить во многих системах (Linux, macOS и т. д.), чтобы распечатать содержимое файла. Он не должен быть включен в файл.
Ваш runtime.txt
должен содержать только соответствующую строку python-x.y.z
. На данный момент на стеке Heroku-22 можно использовать Python 3.9:
python-3.9.15
Питон 3.10:
python-3.10.8
Или Python 3.11:
python-3.11.0
Версия, которую вы используете на своем локальном компьютере, обычно просто должна соответствовать основной и второстепенной частям: ваш локальный Python 3.9.3 должен быть совместим с Heroku 3.9.15.
Обратите внимание, что список Heroku поддерживаемых версий Python довольно часто обновляется по мере выхода новых выпусков исправлений.
спасибо - исправил. Теперь он строится - это облегчение. :) Однако теперь проблема заключается в том, как устранить ошибку «Исключение с кодом ошибки: 0x38 (SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND)». За которым я не могу следить здесь, как описано выше...
Я ничего не знаю о героку, и это больше похоже на вопрос конфигурации сервера, чем на программирование. Но правильный ли это вывод? Мне кажется коррумпированным.
Requested runtime 'cat runtime.txt python-3.9.2' is not available for this stack
Что там делает "cat runtime.txt"?