I had a running django project and for some reasons I had to remove the current mysql version and install a different MySQL version in my machine.
But now when I am trying to run this program am getting an error as follows:
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory
reinstall the c shared library:
pip uninstall mysql-python pip install mysql-python
My issue with the same error message was mysql environment not all the way set up. I needed to uninstall MySQL-python; install libmysqlclient-dev; reinstall MySQL-python to rectify the issue.
So the fix was too:
**I should also mention that I used the --no-cache-dir option with pip install to hit PYPI directly which helped discover the following:
sh: 1: mysql_config: not found Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-Y7RFpJ/mysql-python/setup.py", line 17, in <module> metadata, options = get_config() File "/tmp/pip-build-Y7RFpJ/mysql-python/setup_posix.py", line 43, in get_config libs = mysql_config("libs_r") File "/tmp/pip-build-Y7RFpJ/mysql-python/setup_posix.py", line 25, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not found
and lead me to here
Using: mysql 5.7, mysql-python 1.2.5, django 1.8.9, ubuntu 16.04
Use the following commands:
pip uninstall mysql-python pip install mysql-python
In my case it work because it searches from the complied files.
I did fix the same issue via setting below environment variable:
export LD_LIBRARY_PATH=/usr/local/mysql/lib