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

Ubuntu 20.04缺少psycopg2依赖的postgres-plpython-12如何解决?

问题根因

  • 该报错和psycopg2与plpython3的兼容性无关:你执行的SQL初始化语句中存在plpython2/plpythonu扩展的调用逻辑,而Ubuntu 20.04及以上版本已默认移除Python2支持,对应版本的PostgreSQL软件源也不再提供postgres-plpython-12这类适配Python2的扩展包。
  • 你当前安装的libpq*依赖是适配Ubuntu 18.04的PostgreSQL 13版本,软件源和系统版本、PostgreSQL版本不匹配,不需要强制迁移到PostgreSQL 13,先做适配修正即可。

解决方案

1. 修正PostgreSQL软件源

删除适配Ubuntu 18.04的旧pgdg源,添加和你当前Ubuntu版本匹配的PostgreSQL官方源,执行apt update刷新软件包索引,即可找到对应版本的PostgreSQL扩展包、libpq*依赖包。

2. 替换SQL中的Python2扩展调用

修改初始化SQL(即你代码中的_setup_sql)里的扩展创建语句,将所有CREATE EXTENSION plpythonu、CREATE EXTENSION plpython2语句替换为:

CREATE EXTENSION plpython3u;

如果是第三方依赖自动生成的扩展调用,调整对应配置项指定plpython版本为3即可。

3. 安装对应PostgreSQL版本的plpython3扩展

以PostgreSQL 12为例,执行安装命令:

sudo apt install postgresql-12-plpython3

如果你使用其他版本的PostgreSQL,把命令中的12替换为你的PostgreSQL主版本号即可,无需强制升级到PostgreSQL 13。

4. 重装psycopg2适配依赖

执行以下命令重装psycopg2,匹配新的libpq依赖:

pip uninstall -y psycopg2 psycopg2-binary
pip install psycopg2-binary

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:15:03