Трудности с установкой пакета mariadb

Это в WSL (Ubuntu 20.04).

Я установил Python VE с 3.10.10.

Я сделал apt install из python3.10-venv, python3.10-dev, python3.10-minimal и python3.10-distutils.

Мне удалось активировать VE и сделать pip install с несколькими пакетами. Но у меня проблемы с mariadb.

Во-первых, когда я пошел pip install mariadb он жаловался

Эта ошибка обычно указывает на то, что MariaDB Connector/C, зависимость который должен быть предустановлен, не найден.

Тогда я пошел sudo apt install libmariadb3 libmariadb-dev... и тогда он пожаловался:

Для Connector/Python требуется MariaDB Connector/C >= 3.3.1, найденная версия 3.1.20

Итак, я скачал tar.gz из здесь: mariadb-connector-c-3.3.4-ubuntu-jammy-amd64.tar.gz

Дальше следовал инструкции здесь, раздел "Установка из исходников".

После расширения я получаю это:

(sysadmin_wsl) root@M17A:/mnt/d/apps/MariaDB/mariadb-connector-python# pip install ./mariadb-connector-c-3.3.4-ubuntu-jammy-amd64
ERROR: Directory './mariadb-connector-c-3.3.4-ubuntu-jammy-amd64' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.

Действительно, ни один из этих файлов отсутствует.

Какие-либо предложения?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Была старая версия , поддерживающая MariaDB Connector/C 3.1.5. Он был совершен 15 июля 2020 года. Так что можете попробовать установить этот старый mariadb. См. https://pypi.org/project/mariadb/#history, версии, близкие к дате, — 1.0.0 и 1.0.1.

Так что мой совет: пробуйте pip install "mariadb < 1.1". Он должен установить mariadb==1.0.11, что должно быть в порядке, см. https://github.com/mariadb-corporation/mariadb-connector-python/blob/v1.0.11/mariadb_posix.py#L45

Другие вопросы по теме