在 ubuntu 20.04 中安装 libpq-dev 的问题

lhm*_*des 13 python psycopg2 libpqxx python-3.x

我目前正在尝试安装 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.
Run Code Online (Sandbox Code Playgroud)

pic*_*ick 56

截至 2023 年 5 月,命令为:

sudo apt-get install libpq5=12.12-0ubuntu0.20.04.1 && sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)

当您使用 Ubuntu 22.04 时,请尝试:

sudo apt-get install libpq5=14.5-0ubuntu0.22.04.1 && sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)

  • 这很棒!我昨晚花了一整夜的时间来寻找解决方案。世界是残酷的:(谢谢。 (5认同)
  • 我也发现没用。命令是 `sudo apt-get install libpq5=12.9-0ubuntu0.20.04.1 && sudo apt-get install libpq-dev` ,错误消息是 `E: Version '12.9-0ubuntu0.20.04.1' for 'libpq5'没有找到` (5认同)

小智 15

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

sudo apt-get install libpq5=12.5-0ubuntu0.20.04.1
Run Code Online (Sandbox Code Playgroud)

然后再次安装 liqpq-dev

sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)

  • 现在是: `sudo apt-get install libpq5=12.9-0ubuntu0.20.04.1` (8认同)

fur*_*ras 10

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

您可以尝试安装较旧的 libpq

 apt-get install libpq==12.4-0ubuntu0.20.04.1
Run Code Online (Sandbox Code Playgroud)

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

pgdg20in12.4-1.pgdg20.04+1意味着它不是来自标准ubunturepo 的模块,而是来自其他一些 repo - 可能是postgresqlrepo - 也许这个 repo 也有最新版本libpq-dev。您将搜索12.4-1.pgdg20.04+1在谷歌,也许你也可以找到libpg-dev12.4-1.pgdg20.04+1


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

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


小智 6

这对我有用:

sudo apt-get install libpq5=12.7-0ubuntu0.20.04.1
Run Code Online (Sandbox Code Playgroud)