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

Django项目Docker构建失败求助:psycopg2安装报错

解决Docker构建Django应用时psycopg2安装失败的问题

构建Docker容器时出现pg_config executable not found错误,导致psycopg2无法安装。这是因为psycopg2从源码编译需要PostgreSQL的开发依赖包,而slim版Python镜像默认未预装这些依赖。

两种解决方案

方案一:安装系统依赖包,继续使用psycopg2

在Dockerfile的apt-get install步骤中添加libpq-dev(pg_config工具包含在该包内),修改后的Dockerfile如下:

FROM python:3.10-slim
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1

RUN apt-get update && apt-get install -y \
    python3-dev \
    build-essential \
    libpq-dev \
    && rm -rf /var/lib/apt/lists/*  # 清理apt缓存,减小镜像体积

RUN pip install --upgrade pip

COPY ./requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . /srv/app
WORKDIR /srv/app

注:Docker容器本身已是隔离环境,无需额外创建virtualenv,去掉这部分步骤能简化构建流程、减小镜像大小

方案二:改用psycopg2-binary预编译包

如果不想安装系统依赖,直接修改requirements.txt,将psycopg2==2.9.6替换为psycopg2-binary==2.9.6:

asgiref==3.7.2
Django==4.2.3
django-environ==0.10.0
djangorestframework==3.14.0
psycopg2-binary==2.9.6

psycopg2-binary是预编译的二进制包,无需编译即可直接安装,适合Docker这类快速构建场景。

验证修改

修改完成后重新执行构建命令:

docker-compose build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:06:08