部署Django项目至Heroku时遇错误,请求排查原因
部署Django到Heroku失败的原因及解决办法
错误原因分析
1. Python版本不兼容
ERROR: 忽略了以下需要不同Python版本的版本:1.9.5 Requires-Python >=2.7, !=3.0., !=3.1., !=3.2., !=3.3., <3.7
你的项目依赖的某个包(版本1.9.5)要求Python版本为2.7或3.4-3.6区间,但当前Heroku使用的Python版本不符合该要求,导致该包无法正常安装。
2. pywin32依赖适配问题
ERROR: 找不到满足pywin32304要求的版本(可用版本:无)
ERROR: 未找到匹配的pywin32304发行版
pywin32是仅适配Windows系统的Python包,而Heroku服务器基于Linux环境,不存在该包的Linux兼容版本,因此无法完成依赖安装,导致编译失败。
对应解决办法
- 指定兼容的Python版本:在项目根目录创建或修改
runtime.txt文件,写入符合依赖要求的Python版本(需在Heroku支持的版本列表内),例如:python-3.6.15。 - 处理pywin32依赖:
- 若该包仅用于开发环境,将其移至单独的开发依赖文件(如
requirements-dev.txt),部署时仅安装生产环境依赖(通过pip install -r requirements.txt)。 - 若业务确实需要相关功能,替换为跨平台的替代包,比如用
psutil实现原本依赖pywin32的系统交互功能。
- 若该包仅用于开发环境,将其移至单独的开发依赖文件(如
内容的提问来源于stack exchange,提问作者Iretomiwa Bayode
相关产品推荐
相关产品推荐

