Heroku部署Plotly-Dash应用遇H14错误:无Web进程运行求助
问题原因及解决办法
核心原因
H14错误的本质是Heroku未运行任何web进程,结合你的情况,主要由以下问题导致:
1. Procfile位置错误
你的Procfile放在MyCSVApp/src目录下,但Heroku要求Procfile必须置于项目根目录(与requirements.txt、runtime.txt同级)。Heroku部署时仅扫描根目录的Procfile,子目录中的Procfile会被忽略,因此无法识别web进程类型,资源页才会显示“This app has no process types yet”。
2. Procfile的gunicorn命令路径不正确
即使将Procfile移至根目录,原命令web: gunicorn app:server仍存在问题——你的app.py位于src子目录,gunicorn需从根目录出发指定模块路径,正确命令应为:
web: gunicorn src.app:server
其中src.app指代根目录下src文件夹内的app模块,对应src/app.py文件。
3. 未手动启动web进程
即便Procfile配置正确,Heroku有时不会自动启动web进程,需手动执行命令开启:
heroku ps:scale web=1
该命令会让Heroku启动1个web进程实例(若未安装Heroku CLI,也可在Heroku控制台的「资源」页手动将web进程数量设为1)。
解决步骤
- 将
MyCSVApp/src/Procfile移动至项目根目录(与requirements.txt、runtime.txt同目录)。 - 修改根目录下Procfile的内容为
web: gunicorn src.app:server。 - 重新提交代码至GitHub,触发Heroku重新部署。
- 部署完成后,执行
heroku ps:scale web=1或在Heroku控制台手动启动web进程。
内容的提问来源于stack exchange,提问作者Panagiotis Stenos
相关产品推荐
相关产品推荐

