You need to enable JavaScript to run this app. Heroku部署Django时配置runtime.txt后Python版本未生效问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署Django时配置runtime.txt后Python版本未生效问题咨询

问题核心原因

这不是Heroku平台的运行异常,属于部署流程的常规配置疏漏:Heroku只会在通过Git接收到的、存放在源码根目录的runtime.txt文件格式合规时,才会安装你指定的Python版本;如果推送的源码包中不存在这个文件,Heroku-20栈会默认拉取内置的旧版Python 3.6.12,和你日志中的安装版本完全匹配。
结合你提供的项目信息,最可能的触发点有两个:

  • 本地创建的runtime.txt没有被Git纳入追踪范围,执行commit、push操作时,这个文件根本没有被打包上传到Heroku端。可以通过本地执行git ls-files runtime.txt验证:如果执行后没有任何输出,就证明这个文件没有进入Git的追踪列表。
  • 项目根目录的.gitignore文件中存在误匹配的忽略规则,比如部分通用Git模板会写入*.txt的通配忽略规则,会连带把runtime.txt直接过滤掉,导致即使你把文件加入暂存区,推送时也会被忽略规则排除。

从你的构建日志也可以得到佐证:日志中没有任何“读取runtime.txt、匹配指定Python版本”的相关输出,直接跳转到默认Python版本安装环节,说明Heroku端完全没有获取到你本地的配置文件。

修复操作步骤
  • 先检查.gitignore内容,删除对runtime.txt、Procfile这类项目配置文件的误忽略规则。
  • 执行git add runtime.txt把文件加入暂存区,再次用git ls-files runtime.txt确认文件已经被Git追踪,正常会输出对应的文件路径。
  • 提交变更后重新推送到Heroku远端,观察构建日志中的Python安装环节,正常会显示Installing python-3.7.9,不再默认安装旧版本Python。

补充说明:你当前runtime.txt写入的python-3.7.9格式完全符合Heroku的版本指定规范,不存在文件内容格式错误的问题,不需要调整文件里的版本字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.07 11:06:09