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

部署Flask应用到Vercel时遇pg-config未找到错误求助

解决Vercel部署Flask应用时psycopg2构建失败的问题

核心问题分析

Vercel的构建环境为Linux,与你本地的Windows10环境完全独立,因此本地配置的PATH或安装的依赖不会同步到远程构建容器。错误的本质是Vercel构建容器中缺少PostgreSQL开发依赖,导致编译psycopg2源码时无法找到pg_config。

可行解决方案

方案1:强制使用psycopg2-binary替代psycopg2

  • 确保requirements.txt中仅保留psycopg2-binary,删除psycopg2条目。psycopg2-binary是预编译的二进制包,无需依赖pg_config即可安装,这也是官方推荐的规避编译问题的方案。
  • 本地测试时,先卸载已安装的psycopg2:pip uninstall psycopg2,再安装psycopg2-binary:pip install psycopg2-binary,保证本地与远程依赖一致。

方案2:在Vercel构建阶段安装PostgreSQL开发依赖

若必须使用psycopg2源码包,需在Vercel构建脚本中提前安装PostgreSQL开发工具:

  1. 在项目根目录创建vercel.json,添加带预处理步骤的构建命令:
{
  "buildCommand": "apt-get update && apt-get install -y postgresql-server-dev-all && pip install -r requirements.txt && flask build"
}

注意:将flask build替换为你实际的Flask构建命令(若无额外构建步骤,可简化为安装依赖的命令)。

方案3:配置Vercel环境变量指定pg_config路径(不推荐)

若坚持使用源码包,除安装依赖外,还需在Vercel后台配置环境变量:

  • 进入Vercel项目的Settings → Environment Variables,添加:
    • KEY: PATH
    • VALUE: /usr/lib/postgresql/<对应版本号>/bin:$PATH
      (需先通过构建脚本安装postgresql-server-dev-all,才能找到对应版本的pg_config路径)

关键提醒

  • 本地Windows环境的所有配置对Vercel的Linux构建容器无效,所有依赖和环境变量需针对Vercel构建环境单独配置。
  • 优先选择方案1,彻底规避编译依赖问题,减少部署复杂度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:49:57