You need to enable JavaScript to run this app. Flask项目部署Heroku失败,推送时报buildpack不兼容等错误如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Flask项目部署Heroku失败,推送时报buildpack不兼容等错误如何解决?

问题核心原因
  • 首要根因:项目中runtime.txt指定的python-3.6.0与默认的Heroku-20运行栈不兼容,Heroku-20栈最低支持Python 3.6.11及以上版本,旧版本Python无法被官方Python构建包识别,直接触发构建包检测失败错误。
  • 次要问题:本地Git分支命名与远程Heroku仓库分支命名不匹配,若本地默认分支为master,强行推送main分支就会触发src refspec main does not match any报错。
具体解决步骤
  • 调整Python版本配置:修改runtime.txt内容为Heroku-20栈支持的Python版本,比如python-3.9.16,也可以直接删除runtime.txt,Heroku会自动匹配当前栈的默认稳定Python版本。
  • 统一Git推送分支名:执行git branch查看本地当前分支名,若输出结果为master,推送时统一使用git push heroku master命令即可,不需要强制推送不存在的main分支。
  • 提交修改并重新部署:依次执行以下命令提交配置修改并推送:
    git add .
    git commit -m "fix: adapt Heroku Python version requirement"
    git push heroku master
    
  • 启动web进程验证:推送完成后执行heroku ps:scale web=1启动web服务,再执行heroku open即可直接访问部署好的应用。

补充验证:确认你的Procfile无后缀名(不要存储为Procfile.txt),且内容为web: gunicorn test:app,该配置与你test.py中的Flask实例命名完全匹配,无需修改。

内容的提问来源于stack exchange,提问作者Nikolai Savulkin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 13:36:07