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

Heroku部署Python应用失败 numpy/pandas wheel构建报错求助

故障根因

构建失败的核心原因是依赖版本和Heroku默认运行时的Python版本不匹配:

  • Heroku当前默认部署使用的Python版本为3.10及以上,你在requirements.txt中指定的numpy<=1.19.2最高仅支持Python 3.9,官方没有提供适配高版本Python的预编译wheel包
  • 部署时pip会尝试从源码编译numpy,而Heroku的构建环境没有预装编译该旧版本numpy所需的匹配版本C/Fortran编译工具链,直接触发编译错误
  • 后续pandas、scikit-learn的构建都依赖numpy,numpy构建失败后这两个包也会连带报错退出。
修复方案

二选一即可,优先推荐第一种:

  • 方案1:升级依赖版本适配高版本Python
    修改requirements.txt内的数值计算相关依赖为兼容Python3.10+的版本,参考配置如下:
    gspread<=5.4.0
    numpy>=1.22.0
    oauth2client<=4.1.3
    pandas>=1.4.2
    scikit_learn>=1.0.2
    streamlit==1.10.0
    
    修改后重新推送部署即可。
  • 方案2:锁定Python版本兼容旧依赖
    如果你的业务代码强依赖旧版numpy、pandas、scikit-learn的接口,无法升级依赖,可以在项目根目录新建runtime.txt文件,强制Heroku使用兼容旧依赖的Python版本,文件内容填写:
    python-3.9.13
    
    Python 3.9.13是你当前列表里所有旧版本依赖都官方支持的最高Python版本,对应依赖都有预编译wheel,不需要源码编译,不会触发当前的构建错误。
  • 可选清理操作:如果修改配置后仍然出现同类报错,先执行命令清空Heroku构建缓存再重新部署:
    heroku builds:cache:purge -a 替换为你自己的Heroku应用名称
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:39:25