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...

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:UsersbenqDesktopdimo-developProject>python manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x0332D348>
Traceback (most recent call last):
  File "C:Python34libsite-packagesdjangodbbackendsmysqlbase.py", 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:Python34libsite-packagesdjangoutilsautoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:Python34libsite-packagesdjangocoremanagementcommandsrunserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "C:Python34libsite-packagesdjangoutilsautoreload.py", line 249, in raise_last_exception
    six.reraise(*_exception)
  File "C:Python34libsite-packagesdjangoutilssix.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "C:Python34libsite-packagesdjangoutilsautoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:Python34libsite-packagesdjango__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:Python34libsite-packagesdjangoappsregistry.py", line 108, in populate
    app_config.import_models(all_models)
  File "C:Python34libsite-packagesdjangoappsconfig.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "C:Python34libimportlib__init__.py", 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:Python34libsite-packagesdjangocontribauthmodels.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "C:Python34libsite-packagesdjangocontribauthbase_user.py", line 49, in <module>
    class AbstractBaseUser(models.Model):
  File "C:Python34libsite-packagesdjangodbmodelsbase.py", line 108, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:Python34libsite-packagesdjangodbmodelsbase.py", line 299, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:Python34libsite-packagesdjangodbmodelsoptions.py", line 263, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:Python34libsite-packagesdjangodb__init__.py", line 36, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:Python34libsite-packagesdjangodbutils.py", line 212, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:Python34libsite-packagesdjangodbutils.py", line 116, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:Python34libimportlib__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:Python34libsite-packagesdjangodbbackendsmysqlbase.py", line 28, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

I would need to see your DATABASES configuration in settings.py, but it looks like it is trying to load MySQLDB instead of the Mysql Python Connector that you installed. The DATABASES should look something like this:

DATABASES = {
    'default': {
        'NAME': 'mydatabase',
        'ENGINE': 'mysql.connector.django',
        'USER': 'myuser',
        'PASSWORD': 'secretpassword',
        'OPTIONS': {
          'autocommit': True,
        },
    }
}

Note the ENGINE part… that tells Django to use the mysql connector instead of MySQLDB…

more info available here:
http://bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.html
http://dev.mysql.com/doc/connector-python/en/connector-python-django-backend.html

and if you are expecting to use South:

www.pythonanywhere.com/wiki/UsingMySQL

You may want to note that the Oracle connecter is GPL, and there may be license issues with using that code. See Here:

groups.google.com/forum/#!topic/django-developers/8r_RVmUe5ys

The Django 1.7 documentation recommends using the mysqlclient driver…

docs.djangoproject.com/en/1.7/ref/databases/
—see the section on Mysql DB API Drivers

pypi.python.org/pypi/mysqlclient for that client…

-Scott

Содержание

  1. Устанавливаем библиотеку PyMySQL вместо mysqlclient в Django
  2. Библиотеки для работы с MySQL в Python
  3. pymysql
  4. mysqlclient
  5. mysql-connector-python
  6. Django solving MySQLdb connect error
  7. Error loading MySQLdb module. Did you install mysqlclient?
  8. Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — пробовали ранее опубликованные решения
  9. 23 ответов:
  10. Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — попробовали ранее опубликованные решения
  11. 23 ответов

Устанавливаем библиотеку PyMySQL вместо mysqlclient в Django

В Django изначально реализована поддержка баз данных MySQL и MariaDB. Общение с этими базами выполняется через разные библиотеки, в том числе mysqlclient. Библиотека mysqlclient является самой быстрой и рекомендуемой при работе с Django и MySQL, но ее установка не всегда очевидна и вы можете столкнуться с рядом проблем.

Навигация по посту

Библиотеки для работы с MySQL в Python

Скорее всего их больше, какие-то библиотеки более не поддерживаются, но обычно выделяют 3 варианта для работы с базами MySQL в Python:

  • mysqclient — библиотека написанная на С, которая компилируется при установке. Является форком старого проекта MySQLdb1, который давно не поддерживается. Рекомендуется разработчиками Django и имеет самые высокие показатели производительности из остальных;
  • mysql-connector-python — это официальная библиотека от Oracle. На момент написания статьи можно встретить информацию, что разработчики переписали ее на Python 3, но это не так. Библиотека написана на Python 2.7, а поддержка этой версии закончилась в Django 2.0. В документации Django, почему-то, до сих пор можно прочитать о поддержке этого модуля. Библиотека имела самые низкие показатели скорости;
  • pymysql — сторонний проект написанные на Python 3. Django официально не поддерживает эту библиотеку. Создана теми же разработчиками, что и mysqlclient.

При установке библиотеки mysqlclient, на любой платформе (особенно на Windows), могут быть проблемы с компиляцией. Часть ошибок, которые у вас могут появиться:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
  • building ‘_mysql’ extension error: Microsoft Visual C++ 14.0 is required.
  • ModuleNotFoundError: No module named ‘MySQLdb’

Если у вас есть похожие проблемы, то я бы рекомендовал использовать mysqlclient на сервере (как самую быструю библиотеку), а pymysql использовать локально. О том как это сделать и как можно исправить ошибки написано далее.

Само собой статья исключает ситуацию, что вы можете использовать PostgreSQL в своем проекте.

pymysql

Самый простой и быстрый способ исправить ошибку — установить библиотеку pymysql:

Что бы вы смогли использовать ее в Django, в файле settings.py вам нужно импортировать библиотеку и использовать метод для подключения к API MySQLdb:

Эти настройки может понадобится положить в другие файлы, такие как ‘__init__.py’ или ‘manage.py’. Это зависит от вашего проекта. Суть в том, что мы должны импортировать pymysql до того, как будет выполнен импорт MySQLdb. Обычно это происходит в ‘settings.py’ в DATABASES.

Ниже пример файла настроек, который использую я при локальной разработке:

На странице проекта в github есть уточнение, которое касалось версий Django 2.2+ и следующей ошибкой:

  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3;

Я эту ошибку не встречал, но исправить ее можно вручную заменив версию mysqlclient следующим образом:

Каких либо ошибок при работе с этой библиотекой я не замечал.

mysqlclient

Перед установкой библиотеки mysqclient, в случае Linux, вам понадобится установить целый ряд дополнительных пакетов для компиляции:

В качестве эксперимента я установил чистый Windows 10 и Django 3.2 и ошибок с mysqlclient не было. Возможно разработчики что-то исправили. Если на Windows у вас все равно появляются ошибки, то вы можете скачать скомпилированную версию и установить ее через pip:

В случае Windows этот способ у меня не всегда срабатывал. Поэтому я предпочитаю, если использую MySQL, использовать PyMySQL локально, а mysqlclient на сервере.

Далее устанавливаем саму библиотеку через pip:

mysql-connector-python

Эта официальная библиотека от разработчиков Oracle написанная на Python 2.7. Эта библиотека так же поддерживается разработчиками Django. В более новых версиях Django 3+ можно увидеть следующую ошибку:

  • ‘mysql.connector.django’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends, use ‘django.db.backends.XXX’, where XXX is one of: ‘mysql’, ‘oracle’, ‘postgresql’, ‘sqlite3’

В Django 2.2 можно увидеть следующую ошибку:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

Эти ошибки связаны с отсутствием поддержки Python 2.7 начиная с Django 2.0. В марте 2020 года (прошел год с написания статьи) разработчики отписывались о том что в курсе этой проблемы и решают ее. Вы можете попытать удачу и установить этот модуль следующим образом:

Источник

Django solving MySQLdb connect error

Error loading MySQLdb module. Did you install mysqlclient?

Let’s go over your common steps to configure your laptop’s local environment.

First, create a Sites directory to keep your projects organized and in one place:

Then make a new directory for your project

Now create a new virtual environment for this project. It is important to keep separate virtual environments per project to prevent project dependencies conflicts.

Activate the new virtual environment

Your terminal should now look similar to this with the name of the environment on the right

Create a new Django project

Update Django’s database connection to connect to MySQL in settings.py and make sure to replace the placeholder connection settings with your own

At this point, you will run into this dreaded issue.

To fix it install this connector

Run Django again and the issue should be resolved.

Now remember to save your project dependencies for later use

Dependencies can be installed with this command

And make sure to deactivate your environment to prevent accidentally installing packages your project doesn’t need.

If you run into the ld: library not found for -lssl while trying to install mysqlclient make sure openssl is installed and that the path is set correctly in your bash_profile.

If after installing openssl the error persists it means your paths are still not set correctly. This a workaround but ideally you want to make sure the path is set correctly in your bash_profile.

You might need to set the paths like so

I hope this helps out and please give me some claps if it did. Thanks for reading.

Источник

Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — пробовали ранее опубликованные решения

Это очень обсуждаемая проблема для пользователей OSX 10.6, но я не смог найти решение, которое работает. Вот моя настройка:

Python 2.6.1 64bit
Django 1.2.1
MySQL 5.1.47 osx10. 6 64bit

Я создаю virtualenvwrapper с — no-site-packages, а затем устанавливаю Django. Когда я активирую virtualenv и запускаю python manage.py syncdb, я получаю эту ошибку:

Я также установил MySQL для Python адаптер, но безрезультатно (может я установил неправильно?).

кто-нибудь имел дело с этим раньше?

23 ответов:

у меня была такая же ошибка и pip install MySQL-python решил это за меня.

  • если у вас нет Пип, easy_install MySQL-python должны работать.
  • если ваш python управляется системой упаковки, возможно, вам придется использовать эта система (например sudo apt-get install . )

ниже Soli отмечает, что если вы получаете следующее сообщение об ошибке:

EnvironmentError: mysql_config not found

. тогда у вас есть еще одна проблема зависимости системы. Решение этой проблемы будет варьироваться от системы к системе, но для систем, производных от Debian:

sudo apt-get install python-mysqldb

запуск Ubuntu, я должен был сделать:

добавление к другим ответам, следующее помогло мне закончить установку mysql-python:

Не забудьте добавить ‘sudo’ в начало команд, если у вас нет соответствующих разрешений.

попробуйте выполнить следующие команды. Они работают на меня:

mysql_config должен быть на пути. На Mac, do

EnvironmentError: mysql_config не найден

после поиска мой env:

затем я запустил startproject и внутри manage.py, я добавил Это:

кроме того, обновлено это внутри настройки:

у меня тоже configparser==3.5.0 установлен в моем virtualenv, не уверен, что это было необходимо или нет.

следующее отлично работало для меня, запустив Ubuntu 13.10 64-бит:

Теперь перейдите к своему virtualenv (например, папке env) и выполните следующее:

Я действительно нашел решение в отдельном вопросе, и я цитирую его ниже:

если вы создали virtualenv с параметром —no-site-packages (по умолчанию), затем общесистемные установленные дополнения, такие как MySQLdb не включены в пакетах виртуальной среды.

вам нужно установить MySQLdb с командой pip, установленной с помощью виртуальное окружение. Либо активировать виртуальное окружение с Бен/активировать скрипт, или использовать бин/ПГИ в виртуальное окружение, чтобы установить Библиотеки MySQLdb локально, а также.

кроме того, создайте новый virtualenv с системными сайтами-пакетами включено с помощью переключателя —system-site-package.

Я думаю, что это должно также работать с OSX. Единственной проблемой будет получение эквивалентной команды для установки libmysqlclient-dev и python-dev как они необходимы для компиляции mysql-python Я думаю.

надеюсь, что это помогает.

попробуйте это: это решило проблему для меня .

Источник

Получение «ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb» — попробовали ранее опубликованные решения

Это очень обсуждаемая проблема для пользователей OSX 10.6, но я не смог найти решение, которое работает. Вот моя установка:

Python 2.6.1 64 бит Django 1.2.1 В MySQL 5.1.47 osx10.6 64бит

Я создаю virtualenvwrapper с — no-site-packages, затем устанавливаю Django. Когда я активирую virtualenv и запускаю python manage.py syncdb, я получаю эту ошибку:

Я также установил MySQL для Python адаптер, но безрезультатно (может я установил неправильно?).

кто-нибудь занимался этим раньше?

23 ответов

у меня была такая же ошибка и pip install MySQL-python решил это за меня.

  • если у вас нет pip, easy_install MySQL-python должны работать.
  • если ваш python управляется упаковочной системой, вам, возможно, придется использовать эта система (например, sudo apt-get install . )

ниже Soli отмечает, что если вы получаете следующую ошибку:

EnvironmentError: mysql_config not found

. тогда у вас есть еще одна проблема с системной зависимостью. Решение этого будет варьироваться от системы к системе, но для систем, производных от Debian:

sudo apt-get install python-mysqldb

запуск Ubuntu, я должен был сделать:

добавление к другим ответам, следующее помогло мне закончить установку mysql-python:

Не забудьте добавить «sudo» в начало команд, если у вас нет соответствующих разрешений.

попробуйте выполнить следующие команды. Они работают на меня:

mysql_config должен быть на пути. На Mac, do

EnvironmentError: mysql_config не найден

как я заставил его работать:

после поиска моего env:

затем я запустил startproject и внутри manage.py, я добавил Это:

кроме того, обновлено это внутри настроек:

у меня тоже configparser==3.5.0 установлен в моем virtualenv, не уверен, что это было необходимо или нет.

надеюсь, это поможет,

следующее отлично сработало для меня, запустив Ubuntu 13.10 64-бит:

Теперь перейдите к virtualenv (например, к папке env) и выполните следующее:

Я действительно нашел решение в отдельном вопросе, и я цитирую его ниже:

если вы создали virtualenv с параметром —no-site-packages (по умолчанию), затем общесистемные установленные дополнения, такие как MySQLdb не включены в пакетах виртуальной среды.

вам нужно установить MySQLdb с командой pip, установленной с помощью виртуальное окружение. Либо активируйте virtualenv с помощью bin/activate сценарий или используйте bin/pip из virtualenv для установки MySQLdb библиотека локально, а также.

кроме того, создайте новый virtualenv с системными пакетами сайтов включено с помощью переключателя —system-site-package.

Я думаю, что это должно также работать с На OSX. Единственной проблемой будет получение эквивалентной команды для установки libmysqlclient-dev и python-dev как они необходимы для компиляции mysql-python Я думаю.

надеюсь, что это помогает.

попробуйте это: это решило проблему для меня .

Источник

В Django изначально реализована поддержка баз данных MySQL и MariaDB. Общение с этими базами выполняется через разные библиотеки, в том числе mysqlclient. Библиотека mysqlclient является самой быстрой и рекомендуемой при работе с Django и MySQL, но ее установка не всегда очевидна и вы можете столкнуться с рядом проблем.

Библиотеки для работы с MySQL в Python

Скорее всего их больше, какие-то библиотеки более не поддерживаются, но обычно выделяют 3 варианта для работы с базами MySQL в Python:

  • mysqclient — библиотека написанная на С, которая компилируется при установке. Является форком старого проекта MySQLdb1, который давно не поддерживается. Рекомендуется разработчиками Django и имеет самые высокие показатели производительности из остальных;
  • mysql-connector-python — это официальная библиотека от Oracle. На момент написания статьи можно встретить информацию, что разработчики переписали ее на Python 3, но это не так. Библиотека написана на Python 2.7, а поддержка этой версии закончилась в Django 2.0. В документации Django, почему-то, до сих пор можно прочитать о поддержке этого модуля. Библиотека имела самые низкие показатели скорости;
  • pymysql — сторонний проект написанные на Python 3. Django официально не поддерживает эту библиотеку. Создана теми же разработчиками, что и mysqlclient.

При установке библиотеки mysqlclient, на любой платформе (особенно на Windows), могут быть проблемы с компиляцией. Часть ошибок, которые у вас могут появиться:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
  • building ‘_mysql’ extension error: Microsoft Visual C++ 14.0 is required.
  • ModuleNotFoundError: No module named ‘MySQLdb’

Если у вас есть похожие проблемы, то я бы рекомендовал использовать mysqlclient на сервере (как самую быструю библиотеку), а pymysql использовать локально. О том как это сделать и как можно исправить ошибки написано далее.

Само собой статья исключает ситуацию, что вы можете использовать PostgreSQL в своем проекте.

pymysql

Самый простой и быстрый способ исправить ошибку — установить библиотеку pymysql:

python3 -m pip install PyMySQL

Что бы вы смогли использовать ее в Django, в файле settings.py вам нужно импортировать библиотеку и использовать метод для подключения к API MySQLdb:

import pymysql
pymysql.install_as_MySQLdb()

Эти настройки может понадобится положить в другие файлы, такие как ‘__init__.py’ или ‘manage.py’. Это зависит от вашего проекта. Суть в том, что мы должны импортировать pymysql до того, как будет выполнен импорт MySQLdb. Обычно это происходит в ‘settings.py’ в DATABASES.

Ниже пример файла настроек, который использую я при локальной разработке:

Подключение библиотеки PyMySql в Django

На странице проекта в github есть уточнение, которое касалось версий Django 2.2+ и следующей ошибкой:

  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3;

Я эту ошибку не встречал, но исправить ее можно вручную заменив версию mysqlclient следующим образом:

import pymysql
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()

Каких либо ошибок при работе с этой библиотекой я не замечал.

mysqlclient

Перед установкой библиотеки mysqclient, в случае Linux, вам понадобится установить целый ряд дополнительных пакетов для компиляции:

# Разработчики указывают следующие пакеты
# Ubuntu
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

# CentOS
sudo yum install python3-devel mysql-devel

# библиотеки, которые могут понадобится
# (советы с форумов, которые мне не пригодились)
sudo apt-get install mysql-client libssl-dev

В качестве эксперимента я установил чистый Windows 10 и Django 3.2 и ошибок с mysqlclient не было. Возможно разработчики что-то исправили. Если на Windows у вас все равно появляются ошибки, то вы можете скачать скомпилированную версию и установить ее через pip:

python3 -m pip install C:/mysqlclient-1.4.6-cp39-cp39-win32.whl

В случае Windows этот способ у меня не всегда срабатывал. Поэтому я предпочитаю, если использую MySQL, использовать PyMySQL локально, а mysqlclient на сервере.

Далее устанавливаем саму библиотеку через pip:

python3 -m pip install mysqlclient

mysql-connector-python

Эта официальная библиотека от разработчиков Oracle написанная на Python 2.7. Эта библиотека так же поддерживается разработчиками Django. В более новых версиях Django 3+ можно увидеть следующую ошибку:

  • ‘mysql.connector.django’ isn’t an available database backend or couldn’t be imported. Check the above exception. To use one of the built-in backends, use ‘django.db.backends.XXX’, where XXX is one of:  ‘mysql’, ‘oracle’, ‘postgresql’, ‘sqlite3’

В Django 2.2 можно увидеть следующую ошибку:

  • django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

Эти ошибки связаны с отсутствием поддержки Python 2.7 начиная с Django 2.0. В марте 2020 года (прошел год с написания статьи) разработчики отписывались о том что в курсе этой проблемы и решают ее. Вы можете попытать удачу и установить этот модуль следующим образом:

python3 -m pip install mysql-connector-python

В файле setting.py указать следующие настройки:

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': ,
        'USER': ,
        'PASSWORD': ,
        'HOST': ,
    }
}

Теги:

#python

#django

Error Description:

  • When we activate the virtualenv and run python manage.py syncdb, we get this error:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
  execute_manager(settings)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
  utility.execute()
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command
  klass = load_command_class(app_name, subcommand)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
  module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in <module>
from django.contrib.contenttypes import generic
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in <module>
  from django.db import connection
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in <module>
  connection = connections[DEFAULT_DB_ALIAS]
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__
  backend = load_backend(db['ENGINE'])
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend
  return import_module('.base', backend_name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 14, in <module>
  raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
 

Solution 1:

First Run this command:

sudo pip install mysql-python; 

Now you can run your command.

python manage.py startapp filename; 

Solution 2:

  • If you don’t have pip, easy_install MySQL-python should work.
  • If your python is managed by a packaging system, you might have to use that system (e.g. sudo apt-get install)

Solution 3:

You can try this:

sudo apt-get install python-mysqldb 

Solution 4:

Try this:

brew install mysql-connector-c 
pip install MySQL-python 

Solution 5:

mysql_config must be on the path. On Mac, do

export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python 

I have a problem so a connection a python to database local of MySQLdb.

Message of error is:

import MYSQL    
ImportError:No module named MYSQLdb.

This is a script in python 3.4 to connection my database local MYSQL.

import MYSQLdb
conn=MYSQLdb.connect (host ="localhost", user="root" , passwd="abcd",db="nomi")
cursore=conn.cursor()
name=input("Write your name :   ")

x="insert into user (name) values ('%s')"%(name)
cursore.excute(x)
connet.comit()

PS: Can you help me please?

Sylvain Pineau's user avatar

asked Feb 9, 2015 at 11:50

Linus Strike's user avatar

You have to install the module with:

sudo apt-get install python-mysqldb

Reference: This thread on SO

RPiAwesomeness's user avatar

answered Feb 9, 2015 at 12:08

3

sudo apt install libmysqlclient-dev
then

  • for python 2.x:

    pip install mysql-python

  • for python 3.x:

    pip install mysqlclient or pip3 install mysqlclient

Community's user avatar

answered Jun 20, 2018 at 18:10

DChandolia's user avatar

DChandoliaDChandolia

1111 silver badge4 bronze badges

4

I got this issue solved by the following line

pip install pymysql

Also updated the MySql configuration line to

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://.............'

answered Sep 20, 2017 at 15:30

Napolean's user avatar

1

Unfortunately MySQLdb does not support Python 3.

You basically have two options:

  1. Run your script using python2.7, that way you won’t need to change the MySQL module. The downside is that you’ll probably have to convert some code to python2.x.

  2. Look for python3.x supported modules as explained here: Python 3.4.0 with MySQL database.

Community's user avatar

answered Feb 9, 2015 at 12:39

Sylvain Pineau's user avatar

Sylvain PineauSylvain Pineau

60.8k18 gold badges148 silver badges181 bronze badges

As far as I know, MySQLdb does not support Python 3. From the page ‘[MySQL-python]’1 updated on 2013-06-08:

* Python versions 2.4-2.7; Python 3 support coming soon.

mysqlclient-python (https://github.com/PyMySQL/mysqlclient-python) claims support for python 3 but I have no experience with that product. Personally, I use pyodbc (also requires libmyodbc) which looks very similar from a programming point of view.

answered Feb 9, 2015 at 13:13

Marc Vanhoomissen's user avatar

The answer by @technodivesh worked for me in debian 9 and python 3.5. But with a little modification.

Instead of

sudo apt install libmysqlclient-dev

I used:

sudo apt install default-libmysqlclient-dev

It was suggested here

The first command returned me-

E: Package ‘libmysqlclient-dev’ has no installation candidate

[I would have added this as a comment to his answer. But, I do not have the required reputation to make comments.]

answered Oct 16, 2019 at 20:46

nsssayom's user avatar

nsssayomnsssayom

1912 silver badges8 bronze badges

For Python3 its

sudo apt-get install python-mysqldb

Other commands I ran that may or may not be required (the command above ultimately solved everything for me)

#this was for a new machine set up. one or two of the below failed
sudo apt install python3-pip
pip3 install mysqlclient
pip3 install mysql-connector
pip3 install mysql-connector-python

answered Nov 28, 2019 at 5:26

FlyingZebra1's user avatar

This is very easy. You have to write just like this:

import Mysql.connector

mydb = Mysql.connector.connect(
  host="127.0.0.1",
    user="root",
  passwd="shriram@11"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE DATABASE mydatabase")

This code will run correctly without showing any module error

Gryu's user avatar

Gryu

6,9979 gold badges28 silver badges49 bronze badges

answered Mar 25, 2020 at 17:20

All About Games Gaming's user avatar

I am using python 3.8.5, django 2.2.2 in red hat linux environment and unable to run the command python manage.py runserver. getting the following error —

File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/backends/mysql/base.py», line 15, in
import MySQLdb as Database
ModuleNotFoundError: No module named ‘MySQLdb’

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File «/usr/lib64/python3.8/threading.py», line 932, in _bootstrap_inner
self.run()
File «/usr/lib64/python3.8/threading.py», line 870, in run
self._target(*self._args, **self._kwargs)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/utils/autoreload.py», line 54, in wrapper
fn(*args, **kwargs)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/core/management/commands/runserver.py», line 109, in inner_run
autoreload.raise_last_exception()
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/utils/autoreload.py», line 77, in raise_last_exception
raise _exception[1]
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/core/management/init.py», line 337, in execute
autoreload.check_errors(django.setup)()
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/utils/autoreload.py», line 54, in wrapper
fn(*args, **kwargs)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/init.py», line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/apps/registry.py», line 114, in populate
app_config.import_models()
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/apps/config.py», line 211, in import_models
self.models_module = import_module(models_module_name)
File «/usr/lib64/python3.8/importlib/init.py», line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File «», line 1014, in _gcd_import
File «», line 991, in _find_and_load
File «», line 975, in _find_and_load_unlocked
File «», line 671, in _load_unlocked
File «», line 783, in exec_module
File «», line 219, in _call_with_frames_removed
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/contrib/auth/models.py», line 2, in
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/contrib/auth/base_user.py», line 47, in
class AbstractBaseUser(models.Model):
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/models/base.py», line 117, in new
new_class.add_to_class(‘_meta’, Options(meta, app_label))
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/models/base.py», line 321, in add_to_class
value.contribute_to_class(cls, name)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/models/options.py», line 204, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/init.py», line 28, in getattr
return getattr(connections[DEFAULT_DB_ALIAS], item)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/utils.py», line 201, in getitem
backend = load_backend(db[‘ENGINE’])
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/utils.py», line 110, in load_backend
return import_module(‘%s.base’ % backend_name)
File «/usr/lib64/python3.8/importlib/init.py», line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File «/home/ec2-user/local/venvs/tellybugvenv/lib64/python3.8/site-packages/django/db/backends/mysql/base.py», line 17, in
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

Please help.

Понравилась статья? Поделить с друзьями:
  • Error loading mods minecraft 1 error
  • Error loading mods 2 errors have occurred during loading перевод
  • Error loading mods 2 errors have occurred during loading как исправить
  • Error loading mods 1 error has occurred during loading что делать
  • Error loading mods 1 error has occurred during loading tlauncher