При развертывании приложения Python на платформе Heroku вы можете столкнуться с ошибкой времени выполнения, в которой говорится: «Запрошенная среда выполнения (Python 3.7.5) недоступна для этого стека (Heroku-20)». Эта ошибка обычно возникает, когда указанная версия среды выполнения Python не поддерживается стеком Heroku-20. В этой статье блога мы рассмотрим несколько способов решения этой проблемы и предоставим примеры кода, которые помогут вам устранить ошибку.
Способ 1: обновить версию Python
Один из способов устранить ошибку — обновить версию Python до поддерживаемой версии. Стек Heroku-20 поддерживает Python версии 3.8 и выше. Вот пример того, как обновить файл runtime.txtдля использования Python 3.8:
python-3.8.12
Метод 2: укажите другой стек
Если вы предпочитаете использовать Python 3.7.5 или определенную версию, вы можете попробовать развернуть свое приложение в другом стеке, который поддерживает нужную среду выполнения. Например, вместо этого вы можете использовать стек Heroku-18. Чтобы указать стек, создайте runtime.txt
heroku-18
.
Метод 3: использование виртуальной среды
Использование виртуальной среды позволяет указать желаемую версию Python независимо от стека Heroku. Выполните следующие действия, чтобы настроить виртуальную среду:
-
Создайте виртуальную среду:
python3 -m venv myenv -
Активировать виртуальную среду:
source myenv/bin/activate -
Установите необходимые зависимости для вашего приложения:
pip install -r requirements.txt -
Разверните свое приложение в Heroku, используя виртуальную среду:
git push heroku main
Метод 4: обновление стека Heroku
Другой подход — обновить стек Heroku до версии, поддерживающей Python 3.7.5. Вы можете обратиться в службу поддержки Heroku или обратиться к их документации за инструкциями по обновлению вашего стека.
Ошибку «Запрошенная среда выполнения недоступна для этого стека» в Heroku можно устранить, обновив версию Python до поддерживаемой версии, указав другой стек, используя виртуальную среду или обновив стек Heroku. Следуя этим методам и сопровождающим их примерам кода, вы сможете преодолеть эту ошибку и успешно развернуть свое приложение Python на Heroku.