Error Installing mysqlclient on Ubuntu 16.04 using pip and Python 3.6
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
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'm getting this error
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
1 Solution
Open new terminal and run this command
sudo apt-get install libssl-dev
after that install mysqlclient
pip install mysqlclient
2 Solution
Install MySQL database connector
First thing we will need to do is install python3-dev. You can install python3-dev by running the following command:
sudo apt-get install python3-dev
Once python3-dev is installed, we can install the necessary Python and MySQL development headers and libraries:
sudo apt-get install python3-dev libmysqlclient-dev
Then, we will use pip3 to install the mysqlclient library from PyPi. Since our version of pip points to pip3, we can just use pip.
pip install mysqlclient
Reference Link : How To Create a Django App and Connect it to a Database