安装Python MariaDB/MySQL工具时遭遇libmariadbclient-dev依赖冲突
MariaDB依赖问题解决指南
当前运行的MariaDB版本
mysqld Ver 10.5.15-MariaDB-1:10.5.15+maria~focal-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
尝试执行的安装命令
sudo apt-get install libmariadbclient-dev
出现的错误
libmariadbclient-dev : Depends: libmariadb-dev (= 1:10.3.38-0ubuntu0.20.04.1) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
当前已安装的相关软件包
libdbd-mariadb-perl/focal,now 1.11-3ubuntu2 amd64 [installed,automatic] libmariadb-dev-compat/unknown 1:10.5.19+maria~ubu2004 amd64 libmariadb-dev/unknown,now 1:10.5.19+maria~ubu2004 amd64 [installed] libmariadb-java/focal 2.5.3-1 all libmariadb3-compat/unknown 1:10.5.19+maria~ubu2004 amd64 libmariadb3/unknown,now 1:10.5.19+maria~ubu2004 amd64 [installed,automatic] libmariadbclient-dev/focal-updates,focal-security 1:10.3.38-0ubuntu0.20.04.1 amd64 libmariadbclient18/unknown 1:10.5.19+maria~ubu2004 amd64 libmariadbd-dev/unknown 1:10.5.19+maria~ubu2004 amd64 libmariadbd19/unknown 1:10.5.19+maria~ubu2004 amd64 libmysqlclient18/unknown 1:10.5.19+maria~ubu2004 amd64 maria-doc/focal 1.3.5-4.1build2 all maria/focal 1.3.5-4.1build2 amd64 mariadb-backup/unknown 1:10.5.19+maria~ubu2004 amd64 [upgradable from: 1:10.5.16+maria~focal] mariadb-client-10.3/focal-updates,focal-security 1:10.3.38-0ubuntu0.20.04.1 amd64 mariadb-client-10.5/unknown 1:10.5.19+maria~ubu2004 amd64 [upgradable from: 1:10.5.16+maria~focal] mariadb-client-core-10.3/focal-updates,focal-security 1:10.3.38-0ubuntu0.20.04.1 amd64 mariadb-client-core-10.5/unknown 1:10.5.19+maria~ubu2004 amd64 [upgradable from: 1:10.5.16+maria~focal] mariadb-client/unknown 1:10.5.19+maria~ubu2004 all [upgradable from: 1:10.5.16+maria~focal] mariadb-columnstore-cmapi/unknown 22.08.2 amd64 mariadb-common/unknown 1:10.5.19+maria~ubu2004 all [upgradable from: 1:10.5.16+maria~focal] mariadb-plugin-columnstore/unknown 1:10.5.19-5.6.8+maria~ubu2004 amd64 mariadb-plugin-connect/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-cracklib-password-check/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-gssapi-client/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-gssapi-server/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-mroonga/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-oqgraph/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-rocksdb/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-s3/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-spider/unknown 1:10.5.19+maria~ubu2004 amd64 mariadb-plugin-tokudb/focal-updates,focal-security 1:10.3.38-0ubuntu0.20.04.1 amd64 mariadb-server-10.3/focal-updates,focal-security 1:10.3.38-0ubuntu0.20.04.1 amd64 mariadb-server-10.5/unknown 1:10.5.19+maria~ubu2004 amd64 [upgradable from: 1:10.5.15+maria~focal] mariadb-server-core-10.3/focal-updates,focal-security 1:10.3.38-0ubuntu0.20.04.1 amd64 mariadb-server-core-10.5/unknown 1:10.5.19+maria~ubu2004 amd64 [upgradable from: 1:10.5.15+maria~focal] mariadb-server/unknown 1:10.5.19+maria~ubu2004 all [upgradable from: 1:10.5.15+maria~focal] mariadb-test-data/unknown 1:10.5.19+maria~ubu2004 all mariadb-test/unknown 1:10.5.19+maria~ubu2004 amd64 mysql-common/unknown 1:10.5.19+maria~ubu2004 all [upgradable from: 1:10.5.15+maria~focal] odbc-mariadb/focal 3.1.4-1 amd64
依赖问题解决步骤
1. 修复系统损坏依赖
先清理并修复系统中已有的损坏包和依赖冲突:
sudo apt-get clean sudo apt-get update sudo apt-get -f install sudo dpkg --configure -a
2. 安装匹配版本的开发库
当前系统安装的是MariaDB 10.5系列的库,需要安装对应版本的libmariadbclient-dev,而非Ubuntu默认源的10.3版本:
sudo apt-get install libmariadbclient-dev=1:10.5.19+maria~ubu2004
如果提示版本不存在,先确保MariaDB官方源已正确配置,再重新执行sudo apt-get update后重试。
3. 绕过系统依赖的替代方案
如果系统依赖问题无法快速解决,可以直接通过pip安装Python的MariaDB/MySQL驱动,无需依赖系统级开发库:
# 使用MySQL官方Python驱动 pip install mysql-connector-python # 或使用MariaDB官方Python驱动 pip install mariadb
内容的提问来源于stack exchange,提问作者MW_DEVEL
相关产品推荐
相关产品推荐

