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

将Django应用部署至Heroku时遇psycopg2版本识别错误求助

解决Heroku部署Django时psycopg2兼容PostgreSQL 10.1的问题

这个错误的核心原因是你当前使用的psycopg2版本太旧,不支持PostgreSQL 10.x系列版本,而Heroku的PostgreSQL服务当时正运行在10.1版本上,导致安装过程中无法识别数据库版本,最终触发egg_info失败。

下面是具体的解决步骤:

  • 替换为预编译的psycopg2-binary(推荐)
    直接在requirements.txt里把psycopg2替换成psycopg2-binary,这个包是预编译好的二进制版本,不需要在Heroku上编译,不仅能避开版本兼容问题,还能加快部署速度。修改后的内容类似:

    Django==x.x.x
    psycopg2-binary>=2.8.0
    # 其他依赖...
    
  • 或者升级psycopg2到兼容版本
    如果你坚持要用源码版的psycopg2,可以指定一个支持PostgreSQL 10的版本,从2.7.4开始就支持10.x系列了,所以在requirements.txt里写:

    psycopg2>=2.7.4
    
  • 提交修改并重新推送
    完成修改后,执行以下命令提交并重新部署:

    git add requirements.txt
    git commit -m "Update psycopg2 to support PostgreSQL 10.1"
    git push heroku master
    

额外补充:如果你的Django版本比较老旧,可能也会存在间接兼容性问题,建议确保Django版本在1.11及以上(该版本开始正式支持PostgreSQL 10),不过绝大多数情况下,核心问题还是出在psycopg2的版本上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:44:51