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

使用Google Cloud Run部署Django应用时gcloud构建提交报错求助

Google Cloud Run部署Django构建镜像失败(pg_config缺失)解决方法

问题描述

严格遵循Google Cloud Run Django官方教程执行到第7步构建应用镜像时,运行gcloud builds submit --pack image=gcr.io/${PROJECT_ID}/myimage报错,核心错误为pg_config executable not found,且已尝试安装psycopg2-binary仍未解决。

解决方法

方法1:修正依赖并清理构建缓存

  • 检查项目根目录的requirements.txt,确保写入的是psycopg2-binary而非psycopg2,建议指定兼容版本(例如psycopg2-binary==2.9.9,适配Django 4.x系列)。
  • 清理Cloud Build的缓存后重新构建,避免旧依赖残留:
gcloud builds submit --no-cache --pack image=gcr.io/${PROJECT_ID}/myimage

方法2:通过Buildpack配置添加系统依赖

在项目根目录创建google.config.yaml文件,配置Buildpack自动安装PostgreSQL客户端依赖:

runtime: python
system_packages:
- postgresql-client

保存后重新运行原构建命令即可。

方法3:改用自定义Dockerfile

如果Buildpack配置仍无法解决,可切换为自定义Dockerfile,手动控制依赖安装流程:

FROM python:3.11-slim

# 安装PostgreSQL开发库及编译依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    libpq-dev \
    gcc \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

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

COPY . .

CMD ["gunicorn", "--bind", ":$PORT", "--workers", "2", "myproject.wsgi"]

修改构建命令为:

gcloud builds submit --tag gcr.io/${PROJECT_ID}/myimage

问题原因

Google Cloud Buildpacks默认的Python运行时环境未预装PostgreSQL相关系统依赖,即使使用psycopg2-binary,部分版本仍需要pg_config生成包元数据;此外,构建缓存可能残留了旧的依赖配置,导致新依赖未正确生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:45:44