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

Heroku部署Python应用报No module named 'hjson'错误如何排查

报错信息可用性判断

你提供的堆栈信息已经足够定位问题,不需要额外补充日志即可完成排查。这个ModuleNotFoundError: No module named 'hjson'是Python应用在Heroku部署时非常典型的依赖缺失问题,根因明确。

问题根因

Heroku部署Python应用时,不会同步你本地开发环境安装的第三方库,只会在构建阶段根据项目根目录下的依赖声明文件自动安装依赖。你本地安装了hjson但没有把它写入依赖声明文件,导致线上运行环境里根本没有安装这个库,导入时直接触发报错。

修复步骤
  • 先确认你项目用的Python依赖管理方式:绝大多数场景Heroku默认识别根目录下的requirements.txt作为依赖清单;如果用Pipenv则识别Pipfile+Pipfile.lock;用Poetry则识别pyproject.toml+poetry.lock。
  • 把hjson写入对应依赖清单:
    • 用requirements.txt的场景:先在本地终端执行pip show hjson,拿到你本地安装的hjson版本号,在requirements.txt里新增一行hjson==<对应版本号>即可,比如本地版本是3.1.0就写hjson==3.1.0。
    • 用Pipenv/Poetry的场景:不要手动修改锁文件,在本地项目目录执行对应依赖添加命令自动更新清单:Pipenv执行pipenv install hjson,Poetry执行poetry add hjson。
  • 排查常见配置疏漏:确认依赖文件放在项目根目录、文件名没有拼写错误、git提交时没有把依赖文件加入忽略列表、确实把修改后的依赖文件推送到了Heroku对应的远程分支。
  • 重新推送代码触发Heroku构建,查看构建日志,确认日志中出现Successfully installed hjson-<版本号>的安装记录后,应用启动就不会再触发该报错。
  • 特殊情况排查:如果按上述步骤操作后依然报相同错误,执行heroku buildpacks检查应用的构建包,确认已添加python官方构建包,构建包配置错误时不会触发Python依赖安装流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:24:30