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

Python 3.12(macOS)下Poetry无法安装psycopg2-binary求助

Python 3.12下Poetry安装psycopg2-binary失败的解决办法

问题根源

你碰到的问题本质是:psycopg2-binary 2.9.9版本没有适配Python 3.12的预编译wheel包,Poetry找不到对应wheel就会尝试从源码编译安装——这时候就会要求pg_config,和安装psycopg2源码包的逻辑完全一致,所以报错信息会和装psycopg2时一致。

至于执行提示的pip wheel --no-cache-dir --use-pep517 "psycopg2-binary (==2.9.9)"能成功,其实是验证了:这个版本的包本身支持PEP 517构建,问题不在构建标准,而是Poetry的依赖锁定或者版本选择逻辑和pip不一样。而你用pip直接装能成功,是因为pip会自动拉取适配Python 3.12的psycopg2-binary新版本,不会死磕旧版本。

可行解决方案

1. 指定兼容Python 3.12的版本

修改pyproject.toml里的依赖配置,明确要求支持Python 3.12的最低版本(psycopg2-binary从2.9.10开始支持3.12):

[tool.poetry.dependencies]
psycopg2-binary = ">=2.9.10"

接着执行更新lock文件并重新安装:

poetry lock --no-update
poetry install --with dev --sync

2. 重置Poetry的依赖锁定

如果旧的lock文件死死锁定了2.9.9版本,直接清除缓存并重新生成lock文件:

poetry cache clear pypi --all
rm poetry.lock
poetry install --with dev --sync

3. 临时用pip安装(不推荐长期用)

如果必须保留旧版本,可以绕开Poetry直接用pip安装:

poetry run pip install psycopg2-binary

但这么做会脱离Poetry的依赖管理,可能引发版本冲突,只适合临时应急。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:57:42