Error installing mysqlclient for python on Ubuntu 18.04

gcc is part of the build-essential package, which you should install before anything else:

sudo apt-get install build-essential

UPDATE: Following @bosnjak's suggestion, you also might need to install the openssl developer tools:

sudo apt-get install libssl-dev

I specified the particular version of python it's 3.7 And that helped me

I have installed these ones:

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

And then installed mysqlclient by:

pip install mysqlclient

I turned out, that the solution is slightly different for almost every Python version. For those using different versions, such as Python 2.x, 3.5 or 3.7 I found this:

Part I

For Python 2.x use:

  $ sudo apt-get install python-dev

For Python 2.7 use:

  $ sudo apt-get install libffi-dev

For Python 3.x use:

  $ sudo apt-get install python3-dev

For Python 3.4 use:

  $ sudo apt-get install python3.4-dev

For Python 3.7 use:

  $ sudo apt-get install python3.7-dev

For Python 3.8 use:

  $ sudo apt-get install python3.8-dev

For Python 3.9 use:

  $ sudo apt-get install python3.9-dev

Part II

If this still doesn't help, others have pointed out to install

  $ sudo apt-get install build-essential

and finally

  $ sudo apt-get install libssl-dev

But the last two didn't help myself - but hoping this might help you!