Ошибка установки mysqlclient на Ubuntu 16.04 с использованием pip и Python 3.6

Я получаю странную ошибку при попытке установить mysqlclient на Ubuntu 16.04 Xenial с пиком + Python 3.6 > :

 pip install mysqlclient

Вывод:

 _mysql.c:40:20: fatal error: Python.h: No such file or directory
 compilation terminated.
 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Следуя требованиям к установке, я попытался установить необходимые библиотеки, но пока не повезло.

sudo apt-get install python3-dev libmysqlclient-dev

Кто-нибудь знает обходной путь для этой проблемы?

Ответ 1

Я нашел проблему, похоже, для установки mysqlclient в python3.6 требуется библиотека python3.6-dev.. p >

Просто откройте терминал и выполните следующую команду:

sudo apt-get install python3.6-dev libmysqlclient-dev

При попытке установить библиотеку может возникнуть следующая ошибка:

Reading state information...
E: Unable to locate package python3.6-dev
E: Couldn't find any package by glob 'python3.6-dev'
E: Couldn't find any package by regex 'python3.6-dev'

Если это так, попробуйте сначала добавить следующий репозиторий:

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update

После этого вы должны установить пакеты python3.6 и python3.6-dev.

Ответ 2


Мне не удалось установить mysqlclient на python 3.6.3, поэтому Я отказался от версии 3.6.2, и это сработало.

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev  libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd /usr/bin
sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
sudo tar xzf Python-3.6.2.tgz
cd Python-3.6.2
sudo ./configure --enable-optimizations
sudo make altinstall

python3.6 должен указывать на 3.6.2

python --version # Python 3.6.2

теперь установите mysqlclient

python3.6 -m pip install mysqlclient

читать дальше

Ответ 3

Я столкнулся с той же проблемой:

#sudo pip3 install mysqlclient fails with mysql_config not found
sudo apt-get install libmysqlclient-dev
#without pip3 it will not going to work for python3
sudo pip3 install mysqlclient

Решено с использованием вышеуказанного способа.

ссылка ссылка