Sergei_Erjemin
@Sergei_Erjemin
Улыбайся, будь самураем...

Как установить mysqlclient для MySQL 8.0.19 и Python 3.8.2 под Debian 10?

Не устанавливается коннектор к MySQL для Python 3.8. Делаю следующее:

В Debian 10 (ядро 4.19.98-1) добавил репу:

deb http://ftp.de.debian.org/debian testing main

Затем скачал менеджер пактов MySQL, настроил на MySQL 8.0.19 и т.д.:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
sudo apt-get update --fix-missing
sudo apt-get install mysql-server
MySQL встал и в нем все что нужно настроилось (включая конфигурационный файл). Далее ставлю Python 3.8 и прочее к нему:
sudo apt-get install python3.8 python3.8-dev python3-pip python3-venv
Все встало и все работает... Создаю окружение:
python3.8 -m venv env
source env/bin/activate
python -V
pip -V
Все ок. Благополучно накатил нужные пакеты но mysqlclient не устанавливается:

pip3 install mysqlclient

Выдает следующее:
Collecting mysqlclient
  Using cached mysqlclient-1.4.6.tar.gz (85 kB)
    ERROR: Command errored out with exit status 1:
     command: /home/e-serg/favicon_prj/env/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ia8oy4f5/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ia8oy4f5/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-ia8oy4f5/mysqlclient/pip-egg-info
         cwd: /tmp/pip-install-ia8oy4f5/mysqlclient/
    Complete output (12 lines):
    /bin/sh: 1: mysql_config: not found
    /bin/sh: 1: mariadb_config: not found
    /bin/sh: 1: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-ia8oy4f5/mysqlclient/setup.py", line 16, in <module>
        metadata, options = get_config()
      File "/tmp/pip-install-ia8oy4f5/mysqlclient/setup_posix.py", line 61, in get_config
        libs = mysql_config("libs")
      File "/tmp/pip-install-ia8oy4f5/mysqlclient/setup_posix.py", line 29, in mysql_config
        raise EnvironmentError("%s not found" % (_mysql_config_path,))
    OSError: mysql_config not found
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.


Что делаю не так? Почему не находит конфиги MySQL? Проверял, они лежат в стандартных местах и ничего необычного в них не обнаружено (правда MySQL 8.0 есть всякие новые натации относительно ssl-ключей для клиента... но коннектору они не должны мешать).

P.S. Под Windwos все сработало. Нашел готовый .whl для своей комбинации системы+питон+бд... Но для Debian всегда всё ставилось без костылей (буквально недавно все тоже самое с Python 3.7 и mariadb... Но сейчас не сработало!

P.P.S. Советы использовать другие версии Python и madiadb не принимаются. Нужно именно такая комбинация...
  • Вопрос задан
  • 1426 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
дык а apt для самого mysqlclient где?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы