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-compat
libmariadbclient-dev
libmysqlclient-dev
libmysqlclient-dev
apt-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 update
并apt-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
,但现在是因为一个完全不同的文件丢失。这只是我使用这个糟糕的开源软件完成某件事的持续努力中又一个生产力损失的一天,至少还有一天会损失。