Проблема с настройкой PORT в Django/Heroku Procfile с помощью Waitress

Я пытаюсь развернуть свое приложение Django на Heroku (на Windows) и использую Waitress (потому что Gunicorn больше не работает на Windows??). Когда я жестко закодировал номер PORT, я смог запустить его нормально.

Когда я пытаюсь определить PORT в Procfile как переменную окружения

Профиль:

web: waitress-serve --port=$PORT [projectname].wsgi:application

из .env

WEB_CONCURRENCY=2
PORT=$PORT

из файла settings.py

import environ
from environ import Env
...
PORT = env('PORT')

Запуск «heroku local» приводит к

ValueError: invalid literal for int() with base 10: '$PORT'

Я постоянно

встречаю упоминания о том, что «$PORT» не подходит для Windows. Однако я не могу понять, чего мне не хватает. Я видел предложения о том, что «%PORT%» подойдет для Windows, но у меня ничего не получилось. Если существует синтаксис, подходящий для Windows, нужно ли мне использовать его и в .env, и в Procfile?

Explicitly tell you django-environs library that you are passing int not string. You can achieve that by casting the value in this format, so update your code on settings.py to look like this;

Remove the dollar sign ($) on your .env as well. Then rerun your build process.

PORT = env.int("PORT")
Вернуться на верх