Aman Dhiman Aman Dhiman - 1 year ago 164
MySQL Question

Error loading MySQLdb module: No module named 'MySQLdb'

I have tried a lot to solve this issue but I did not solve it. I have searched a lot on google and stackoverflow, no option is working for me. Please help me. Thanks in advance. I am using django 1.10, python 3.4.
I have tried :

  1. pip install mysqldb.

  2. pip install mysql.

  3. pip install mysql-python.

  4. pip install MySQL-python.

  5. easy_install mysql-python.

  6. easy_install MySQL-python.

Anything else left ?

C:\Users\benq\Desktop\dimo-develop\Project>python runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x0332D348>
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\django\db\backends\mysql\", line 25, in <module>
import MySQLdb as Database
ImportError: No module named 'MySQLdb'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Python34\lib\site-packages\django\utils\", line 226, in wrapper
fn(*args, **kwargs)
File "C:\Python34\lib\site-packages\django\core\management\commands\", line 109, in inner_run
File "C:\Python34\lib\site-packages\django\utils\", line 249, in raise_last_exception
File "C:\Python34\lib\site-packages\django\utils\", line 685, in reraise
raise value.with_traceback(tb)
File "C:\Python34\lib\site-packages\django\utils\", line 226, in wrapper
fn(*args, **kwargs)
File "C:\Python34\lib\site-packages\django\", line 18, in setup
File "C:\Python34\lib\site-packages\django\apps\", line 108, in populate
File "C:\Python34\lib\site-packages\django\apps\", line 202, in import_models
self.models_module = import_module(models_module_name)
File "C:\Python34\lib\importlib\", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "C:\Python34\lib\site-packages\django\contrib\auth\", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:\Python34\lib\site-packages\django\contrib\auth\", line 49, in <module>
class AbstractBaseUser(models.Model):
File "C:\Python34\lib\site-packages\django\db\models\", line 108, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "C:\Python34\lib\site-packages\django\db\models\", line 299, in add_to_class
value.contribute_to_class(cls, name)
File "C:\Python34\lib\site-packages\django\db\models\", line 263, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "C:\Python34\lib\site-packages\django\db\", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "C:\Python34\lib\site-packages\django\db\", line 212, in __getitem__
backend = load_backend(db['ENGINE'])
File "C:\Python34\lib\site-packages\django\db\", line 116, in load_backend
return import_module('%s.base' % backend_name)
File "C:\Python34\lib\importlib\", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "C:\Python34\lib\site-packages\django\db\backends\mysql\", line 28, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

Answer Source

MySQLdb is only for Python 2.x. You can't install in Python 3.x versions. Now from your question i can see that you are working with Django. In this case you have three alternatives, from Django mysql notes:

  • mysqldb
  • mysqlclient
  • mysql-connect-python

This gives to you two alternatives, mysqlclient and mysql-connect-python, The first one requires compilation from extensions for the plugin and, in Windows, this implies VStudio Libraries and a knowhow for compiling native extensions.

mysql-connect-python is not compiled (and i don't recommend this for production, maybe only for dev) so you are going to need to install this.

You can try:

pip3 install mysql-connect-python


pip3 install

if the first one fails.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download