You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Django+Waitress部署Heroku时PORT环境变量配置失败及端口绑定超时问题求助

Windows环境下Django+Waitress部署Heroku时PORT环境变量配置失败及端口绑定超时问题求助

我现在在Windows上用Waitress部署Django到Heroku(因为Gunicorn现在没法在Windows上运行了),折腾端口配置的时候卡壳了,来求助大家!

一开始我把端口号硬编码的时候,程序能正常启动运行,但换成环境变量动态获取端口就各种报错。

我的当前配置

  1. Procfile 内容:
web: waitress-serve --port=$PORT [projectname].wsgi:application
  1. .env 文件内容:
WEB_CONCURRENCY=2
PORT=$PORT
  1. settings.py 里的相关配置代码:
import environ
from environ import Env
env = Env()
...
PORT = env('PORT')

遇到的具体错误

  • 本地运行heroku local时,直接抛出类型转换错误:
ValueError: invalid literal for int() with base 10: '$PORT'
  • 部署到Heroku后,出现端口绑定超时的致命错误:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

我尝试过的方法和疑问

我查了很多资料,都说Windows环境下用$PORT这种写法是不对的,应该用%PORT%?但我替换后还是没解决问题。另外我还试过直接写PORT不带任何符号(看Waitress的官方文档里好像是这么示例的),也不行。

现在我搞不清楚两个核心问题:

  1. Windows下适配Heroku和Waitress的环境变量正确语法到底是什么?
  2. 如果有专门的Windows写法,是不是需要同时在.env和Procfile里都改成对应的格式?

备注:内容来源于stack exchange,提问作者relp lamfred

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 20:14:31