Streamlit Cloud中Psycopg2导入失败:pg_config未找到
解决Streamlit Cloud上Psycopg2安装失败(找不到pg_config)的问题
你遇到的问题根源是:Streamlit Cloud运行在Linux容器环境中,没有预装PostgreSQL的开发依赖,直接安装psycopg2会触发源码编译,而编译需要的pg_config不存在。另外你本地Windows环境的C:\Program Files\PostgreSQL\15\bin路径对Cloud的Linux环境完全无效,不需要考虑这个路径。
给你两种可行的解决办法:
方案一:改用预编译的psycopg2-binary(最简单)
- 打开项目中的
requirements.txt,把psycopg2替换成psycopg2-binary - 提交修改到GitHub,重新部署Streamlit Cloud即可。这个包是预编译好的二进制版本,不需要本地编译,也就不需要
pg_config。
方案二:安装系统依赖后编译psycopg2(适合需要标准库的场景)
- 在项目根目录新建
packages.txt文件,添加一行内容:postgresql-client - 确保
requirements.txt中保留psycopg2 - 提交这两个文件的修改到GitHub,重新部署。Streamlit Cloud会自动读取
packages.txt安装系统级的PostgreSQL依赖,包含pg_config,之后就能正常编译安装psycopg2了。
内容的提问来源于stack exchange,提问作者sabzuski
相关产品推荐
相关产品推荐

