Задать вопрос

Django + MySQL + Windows = Error?

Уже потратил уйму времени на попытку соединить Django с MySQL под Windows.



Ошибка:



Unhandled exception in thread started by <bound method Command.inner_run of <dja
ngo.contrib.staticfiles.management.commands.runserver.Command object at 0x000000
00031B22B0>>
Traceback (most recent call last):
  File "c:\Python27\lib\site-packages\django\core\management\commands\runserver.
py", line 92, in inner_run
    self.validate(display_num_errors=True)
  File "c:\Python27\lib\site-packages\django\core\management\base.py", line 280,
 in validate
    num_errors = get_validation_errors(s, app)
  File "c:\Python27\lib\site-packages\django\core\management\validation.py", lin
e 28, in get_validation_errors
    from django.db import models, connection
  File "c:\Python27\lib\site-packages\django\db\__init__.py", line 40, in <modul
e>
    backend = load_backend(connection.settings_dict['ENGINE'])
  File "c:\Python27\lib\site-packages\django\db\__init__.py", line 34, in __geta
ttr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "c:\Python27\lib\site-packages\django\db\utils.py", line 93, in __getitem
__
    backend = load_backend(db['ENGINE'])
  File "c:\Python27\lib\site-packages\django\db\utils.py", line 27, in load_back
end
    return import_module('.base', backend_name)
  File "c:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "c:\Python27\lib\site-packages\django\db\backends\mysql\base.py", line 17
, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in position 20: ordinal
 not in range(128)




Конфиг:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME' : 'pytest',      
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',                 
        'PORT': '3306',                      
    }
}




Подскажите как решить данную проблему
  • Вопрос задан
  • 7014 просмотров
Подписаться 4 Оценить 1 комментарий
Решения вопроса 1
Could
@Could
Была такая же проблема, причина в неустановленной библиотеке mysqldb на windows. Это решило проблему.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
ntkt
@ntkt
Потомственный рыцарь клавиатуры и паяльника
Проверьте, что нигде-нигде нет кириллицы:
— %PATH% и прочие переменные окружения
— имя компьютера
— CLSID от питоновских ассоциаций
— возможно, в настройках мускуля и его дров

А вообще, судя по тому, что пишут в интернетах, дешевле поднять виртуалку с линухом, чем это отлаживать :(
Ответ написан
igrishaev
@igrishaev
У нас в конторе Джанго с Мускулем крутится на Винде, полет нормальный.
Ошибка в этом операторе:
>>> import MySQLdb as Database
Откройте интерактивный Питон и выполните этот код.
Вопрос — у вас классический Питон или ActivePython? Последний хранит пакеты по умолчанию не в site-packages, а где-то в жопе Винды, при запуске Джанги через Апач/IIS этот путь может не подхватиться.
Ответ написан
откройте c:\Python27\lib\site-packages\django\db\backends\mysql\base.py, в 16 строку вставьте
import pdb
pdb.set_trace()

и в консоле, когда выпадет pdb, напишите print e. Что будет?
Ответ написан
Комментировать
igrishaev
@igrishaev
Проверьте пути питона, нет ли там кириллицы:
python manage.py shell
>>> import sys
>>> print sys.path
Ответ написан
@blazer-05
Здравствуйте.
Помогите мне с проблемой. Под виндовс 7 32bit установил python 2.7.8, django 1.7.1, mysql. Все вроде бы работает сайт открывается и с базы данных вытягивает данные, но в консоле shell когда выполняю такую команду

from django.db import connection
cursor = connection.cursor()


выходит ошибка
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: this is MySQLdb version (1, 2, 3, 'final', 0), but _mysql is version (1, 3, 4, 'final', 1)

Установлен модуль для мой операционки MySQL-python-1.2.5.win32-py2.7, ставил также дополнительно mysqlclient 1.3.4, pymysql но ничего не происходит ошибка так и есть!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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