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

Heroku部署Python 3.7.9失败:请求的运行时在heroku-18栈不可用

解决Heroku部署Python 3.7.9到heroku-18栈失败的问题

我之前部署Python项目到Heroku时也踩过这个一模一样的坑!报错的核心原因很直白:heroku-18这个旧栈已经不再支持Python 3.7.9了。Heroku的每个栈版本都绑定了特定的Python运行时支持范围,旧栈会随着时间逐步淘汰对较老Python版本的兼容。

给你两个落地可行的解决方案:

方案一:升级Heroku应用栈到新版本

切换到更现代的栈(比如heroku-20或heroku-22),这些栈依然支持Python 3.7.9,同时也能兼容更新的Python版本。操作步骤很简单:

  1. 在本地终端运行命令切换栈:
    heroku stack:set heroku-20
    # 或者选择更新的heroku-22:heroku stack:set heroku-22
    
  2. 重新push你的代码到Heroku,部署流程应该就能正常识别Python 3.7.9了。

方案二:更换为heroku-18支持的Python版本

如果不想升级栈,那就得把Python版本换成heroku-18兼容的版本,比如该栈支持的Python 3.8.x系列稳定版:

  1. 修改项目根目录下的runtime.txt,把内容改成类似:
    python-3.8.17
    
    注意:格式必须严格是python-x.y.z,不能有多余空格、换行或隐形字符。
  2. 同步更新requirements.txt里的依赖包,确保它们都兼容你选择的新Python版本。
  3. 提交修改后重新push到Heroku。

另外提个容易忽略的小细节:检查你的runtime.txt有没有复制粘贴带来的隐形字符,有时候这些不可见的编码问题也会导致Heroku识别失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:10:16