如何在 18.04 上安装“libmysqlclient-dev”?

如何在 18.04 上安装“libmysqlclient-dev”?

mysqlclient我正在尝试使用推荐的在 Ubuntu 16.04 上的 Python 3.6 环境中安装$ pip install mysqlclient。这会产生错误OSError: mysql_config not found。我不知道这个mysqlclient文件是什么,但我确认它在我的系统上不存在。

Ubuntu 软件包搜索告诉我该文件由、和/usr/bin/mysql_config包提供。由于我使用的是 MySQL 而不是 MariaDB,我尝试通过进行安装。安装失败并显示错误libmariadb-dev-compatlibmariadbclient-devlibmysqlclient-devlibmysqlclient-devapt-get

The following packages have unmet dependencies:
libmysqlclient-dev : Depends: libmysqlclient20 (= 5.7.21-1ubuntu1) but 5.7.24-0ubuntu0.18.04.1 is to be installed 
E: Unable to correct problems, you have held broken packages.

libmysqlclient20我已经在系统上安装了5.7.24-0ubuntu0.18.04.1 版本,但libmysqlclient-dev设置为完全依赖 5.7.21-1ubuntu1 版本。无法mysqlclient在 Ubuntu 18.04 上安装?如果可以,我该如何解决并安装libmysqlclient-dev

另外,我“持有破损包裹”是什么意思?有没有办法确定哪个包裹破损了以及破损的原因是什么?

编辑我尝试自己解决这个问题,apt-get updateapt-get upgrade多次执行了此操作,只是为了确保万无一失。

以下是输出apt-cache policy libmysqlclient-dev libmysqlclient20

$ apt-cache policy libmysqlclient-dev libmysqlclient20
libmysqlclient-dev:
  Installed: (none)
  Candidate: 5.7.21-1ubuntu1
  Version table:
     5.7.21-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
libmysqlclient20:
  Installed: 5.7.24-0ubuntu0.18.04.1
  Candidate: 5.7.24-0ubuntu0.18.04.1
  Version table:
 *** 5.7.24-0ubuntu0.18.04.1 100
        100 /var/lib/dpkg/status
     5.7.21-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

编辑2根据我的笔记,我在 2018 年 12 月 2 日添加了以下行

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

对我/etc/apt/sources.list来说,解决类似的问题,因为出于某种我不知道的原因,它还没有存在。现在检查文件,行不在那里。我百分之百确定我从未故意删除它。

这到底是怎么回事?什么软件包或程序可以帮sources.list我编辑我的软件包?我从不使用任何图形化软件包管理系统,只apt-get使用命令行,除了这些特定情况外,我从未在安装后故意更改我的源代码。

编辑3重新添加行

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

成功/etc/apt/sources.list了。我能够更新然后安装libmysqlclient-dev/usr/bin/mysql_config现在它存在于我的系统中。我仍然无法安装mysqlclient,但现在是因为一个完全不同的文件丢失。这只是我使用这个糟糕的开源软件完成某件事的持续努力中又一个生产力损失的一天,至少还有一天会损失。

相关内容