Не устанавливается коннектор к 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 не принимаются. Нужно именно такая комбинация...