首页 > 解决方案 > `pip install mysqlclient` 找不到`mariadb`,因为它已被`MariaDB-client` 淘汰

问题描述

为了使用 Galera 集群仲裁器功能,我MariaDB-xxx从 YUM repo 安装了 v10.5.8-1.el7.centos @mariadb。然而,后来pip install mysqlclient抱怨失踪失败了mariadb

软件包mariadb实际上已被已安装的软件包淘汰MariaDB-client,但看起来pip install无法找到它。

任何提示将不胜感激。

部分截图:

(venv3.7) [root@host test]# pip install mysqlclient
...
  creating build/temp.linux-x86_64-3.7/MySQLdb
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Dversion_info=(2,0,3,'final',0) -D__version__=2.0.3 -I/usr/include/mysql -I/usr/include/mysql/mysql -I/root/test/venv3.7/include -I/usr/local/include/python3.7m -c MySQLdb/_mysql.c -o build/temp.linux-x86_64-3.7/MySQLdb/_mysql.o -std=c99
  gcc -pthread -shared build/temp.linux-x86_64-3.7/MySQLdb/_mysql.o -L/usr/lib64/ -lmariadb -o build/lib.linux-x86_64-3.7/MySQLdb/_mysql.cpython-37m-x86_64-linux-gnu.so
  /usr/bin/ld: cannot find -lmariadb
  collect2: error: ld returned 1 exit status
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
...
(venv3.7) [root@host test]# yum install mariadb
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Package 1:mariadb-5.5.68-1.el7.x86_64 is obsoleted by MariaDB-client-10.5.8-1.el7.centos.x86_64 which is already installed
Nothing to do
(venv3.7) [root@host test]#

标签: pythonpipcentosmariadb

解决方案


我已经通过安装 package 解决了这个问题MariaDB-shared.x86_64


推荐阅读