I am getting a strange error when trying to install mysqlclient on Ubuntu 16.04 Xenial with pip + Python 3.6:
pip install mysqlclient
Output:
_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
Following the installation requirements, I have tried installing the required libraries, but not luck so far.
sudo apt-get install python3-dev libmysqlclient-dev
Does someone know the workaround for this issue?
This project is a fork of MySQLdb1. This project adds Python 3 support and fixed many bugs.
I found the problem, seems like for installing mysqlclient in python3.6 the library python3.6-dev is required.
Just open a terminal and run the following command:
sudo apt-get install python3.6-dev libmysqlclient-dev
You may get the following error when trying to install the library:
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'
If that is the case, just try adding the following repository first:
sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-get update
After doing so, you should be able to install both python3.6 and python3.6-dev packages.
I had trouble installing mysqlclient on python 3.6.3, so I downgraded to version 3.6.2 and it worked.
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 should point at 3.6.2
python --version # Python 3.6.2
now install mysqlclient
python3.6 -m pip install mysqlclient
read more
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With