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

为Heroku Web应用切换Python解释器遇部署失败求助

解决方案:Heroku上切换Python版本解决Azure语音SDK兼容问题

问题分析

你遇到的核心问题有两个:

  • runtime.txt文件内容格式错误,导致Heroku读取到无效的版本号(日志里显示的cat runtime.txt\npython-3.x.y就是直接证据);
  • 指定的Python版本不在Heroku-22栈的支持范围内。

分步解决步骤

1. 修正runtime.txt文件

  • 清空文件内容,仅保留一行符合格式的版本号,格式为python-X.Y.Z。
  • 选择Heroku-22栈支持的Python版本:
    • 3.9系列:最低3.9.16及以上
    • 3.10系列:最低3.10.11及以上
    • 3.11系列:最低3.11.3及以上
      示例:如果要使用3.9版本,文件内容写:
    python-3.9.16
    

2. 本地环境匹配与依赖更新

  • 安装对应版本的Python(比如3.9.16),创建新的虚拟环境并激活。
  • 重新安装所有项目依赖:
    pip install -r requirements.txt
    
  • 验证本地运行正常后,更新requirements.txt以确保依赖与目标Python版本兼容:
    pip freeze > requirements.txt
    

3. 重新部署到Heroku

  • 将修正后的runtime.txt和更新后的requirements.txt提交到Git仓库:
    git add runtime.txt requirements.txt
    git commit -m "Fix Python version for Heroku deployment"
    git push heroku main
    

为什么之前的尝试失败?

  • 第一次部署:runtime.txt里包含了多余的cat runtime.txt行,导致Heroku识别的版本号无效;同时3.9.2本身不在Heroku-22的支持范围内。
  • 第二次部署:同样存在runtime.txt内容错误的问题,且3.11.0也不符合Heroku-22的最低版本要求。

内容的提问来源于stack exchange,提问作者e-driver1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:40:48