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

部署Flask应用至Heroku遇ModuleNotFoundError问题求助

解决Heroku部署Python应用时的pip.req模块缺失及bad-requirements错误

嘿,我之前部署Python应用到Heroku时也踩过这个坑!这俩错误其实是关联的,根源在于旧的Heroku buildpack和新版pip不兼容,再加上可能requirements.txt文件有问题,给你一步步说怎么解决:

1. 切换到官方Python Buildpack

你遇到的ModuleNotFoundError: No module named 'pip.req',是因为Heroku旧的第三方buildpack里的pip-diff脚本还在依赖pip.req这个模块——但这个模块在pip 10及以上版本里已经被移除了。官方的Python buildpack早就修复了这个兼容问题,所以先切换过去:

heroku buildpacks:set heroku/python

2. 修复requirements.txt文件

日志里的mount: failure.bad-requirements: No such file or directory说明Heroku找不到有效的依赖文件,或者文件格式有问题:

  • 先在本地项目根目录生成正确的requirements.txt:
    pip freeze > requirements.txt
    
  • 检查文件里有没有无效的包名、重复项或者语法错误,比如多余的符号、乱码内容(少量空行不影响)。
  • 确保这个文件已经加入Git仓库,执行提交:
    git add requirements.txt
    git commit -m "Fix requirements.txt for Heroku deployment"
    

3. 清除Heroku缓存并重新部署

有时候缓存里会残留旧的依赖或buildpack文件,导致问题重复出现,先清除缓存:

heroku repo:purge_cache

然后重新推送到Heroku:

git push heroku main

做完这几步,你的应用应该就能正常部署了!如果还有问题,可以检查一下本地pip版本是否和Heroku环境的版本匹配,或者有没有其他自定义buildpack存在冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:16:14