K_DOT
@K_DOT
DevOps инженер

Как решить проблему при подлючении MySQLdb в Django?

Mне нужно использовать MySQL вместо sqlite. В settings.py прописал это:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',                     
        'USER': 'root',                
        'PASSWORD': '',                 
        'HOST': '',                     
        'PORT': '',                      
    }
}

Но при выполнении синхронизации получаю такую ошибку:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

Установил python-mysqldb, но проблема не решилась. Что я сделал не так?
  • Вопрос задан
  • 16522 просмотра
Решения вопроса 2
maxaon
@maxaon
Попробуйте поставить dev зависимости.
sudo apt-get build-dep python-mysqldb
Также проверьте, выполняете лы вы команды в virtualenv ( перед строкой ввода отображается )
Ответ написан
tema_sun
@tema_sun
Нужно проверить есть ли mysql-python в вашем рабочем virualenv'e.
Т.е либо установить его туда, либо использовать системно установленную, создав env с ключом --system-site-packages
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@StonedShaman
Шаман
Я на арче столкнулся с таким же ( python3.3, django 1.6, mariadb 5.5).
Помогло следующее:
использование PyMySQL, т.к. гугл подсказал, что mysql-python не работает с python3
# pip install pymysql

Далее в __init__.py приложения (INSTALLED_APPS) добавим:
import pymysql
pymysql.install_as_MySQLdb()
Ответ написан
Помогите решить данную проблему на Windows10
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы