在 ubuntu 20.04 中安装 libpq-dev 时出现问题

Problems instaling libpq-dev in ubuntu 20.04

我目前正在尝试安装 libpq-dev 来安装 psycopg2。问题是,当我尝试安装它时,出现错误提示我没有最新的 libpq5 版本。但是,当我尝试下载较新版本的 libpq5 时,系统说我已经拥有最新版本。错误示例。

lhmendes@lhmendes-GA-78LMT-S2P:~$ sudo apt-get install libpq-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libpq-dev : Depends: libpq5 (= 12.4-0ubuntu0.20.04.1) but 12.4-1.pgdg20.04+1 is to be installed
E: Unable to correct problems, you have held broken packages.
lhmendes@lhmendes-GA-78LMT-S2P:~$ sudo apt-get install libpq5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libpq5 is already the newest version (12.4-1.pgdg20.04+1).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

我会说你已经安装了最新的 libpq (12.4-1),但是 libpq-dev 需要旧版本 (12.4-0),这会造成问题。

您可以尝试安装较旧的 libpq

 apt-get install libpq==12.4-0ubuntu0.20.04.1

但如果其他程序使用最新版本,则旧版本可能会使该程序出现问题。

pgdg20 in 12.4-1.pgdg20.04+1 表示它不是来自标准 ubuntu repo 的模块,而是来自其他一些 repo - 可能是 postgresql repo - 也许这个 repo 也有最新版本 libpq-dev。您可以在 Google 中搜索 12.4-1.pgdg20.04+1,也许您还可以通过 12.4-1.pgdg20.04+1

找到 libpg-dev

我找到了 libpq-dev 12.4-1.pgdg20.04+1,你可以下载 .deb 文件并安装它。

或者您可以添加此 postgresql repo 并使用 apt-get 安装。此方法还将通知更新,然后您可以自动安装更新。

任何较新版本的 libpq5 都可能导致此错误。在我的例子中,它是 libpq5=13.1-1.pgdg20.04+1。 这与 furus 给出的答案类似,但变化是它是 ubuntu 20.04 中的 libpq5(至少在我的情况下)。 我通过安装

解决了这个问题
sudo apt-get install libpq5=12.5-0ubuntu0.20.04.1

然后再次安装liqpq-dev

sudo apt-get install libpq-dev

这对我有用:

sudo apt-get install libpq5=12.7-0ubuntu0.20.04.1

我必须下载 this package 和 运行

sudo dpkg -i ~/Downloads/libpq-dev_13.3-1.pgdg20.04+1_amd64.deb

我认为这是因为您的 libpg-dev 依赖于 libpg5=12.4-0ubuntu0.20.04.1 但 12.4-1.pgdg20.04+1 将安装在您的机器中,这就是为什么在你sudo apt-get install libpg-dev.

所以你可以先试试sudo apt-get install libpg5=12.4-0ubuntu0.20.04.1, 在那之后,sudo apt-get install libpg-dev.

我用这种方法解决了和你类似的问题。

我安装的时候也出现了同样的问题psycopg2-binary,好像是版本库冲突导致的。

software & Updates=>other software

取消选择 https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/focal

sudo apt-get remove libpg5

sudo apt-get install libpg5 libpg-dev

解决了我的问题

如果你想在 Ubuntu 20.04 上安装它,那么 运行 下面的命令来安装 libpq-dev

命令 1:sudo apt-get install libpq5=12.2-4

命令 2: sudo apt install libpq-dev

Link: https://ubuntu.pkgs.org/20.04/ubuntu-main-arm64/libpq-dev_12.2-4_arm64.deb.html

最新版本(截至 22 年 5 月仍然有效):

sudo apt-get install libpq5=12.9-0ubuntu0.20.04.1 && sudo apt-get install libpq-dev

更新包对我有用:

sudo apt update
sudo apt install libpg-dev