Mavericks 上的 Django 和 MySQL 问题

12 投票
1 回答
11786 浏览
提问于 2025-04-17 22:24

我现在在用Mac OSX 10.9 Mavericks系统,想在Python 3下运行django。因为我用的是Python 3,所以需要从mysql的开发者那里下载官方的连接器,可以在这里找到,我在命令行里简单测试了一下,发现它能正常工作。

我用 python manage.py runserver 命令启动服务器,设置引擎为 "mysql.connector.django",这是我在一个例子中看到的,可以在这里找到,结果出现了这个错误:

django.core.exceptions.ImproperlyConfigured: 'mysql.connector.django' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
Error was: No module named mysql.connector.django.base

于是我又切换回默认的设置,使用 "django.db.backends.mysql" 作为引擎,结果又出现了这个错误:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

我现在不知道该怎么继续下去了。我不能安装MySQLdb,因为我是在Python 3下运行django,而它不支持这个版本,但我觉得我在使用这个连接器时肯定漏掉了什么。

1 个回答

18

对于 Python 2.7 和 3.3 及以上版本,有一个叫做 mysqlclient 的驱动,可以和 Django 1.8 一起使用。

pip install mysqlclient

在你的设置中需要配置这个驱动。

DATABASES = {
    'default': {
        'NAME': '',
        'ENGINE': 'django.db.backends.mysql',
        'USER': '',
        'PASSWORD': '',      
    }
}

这里有官方的 Django 文档,介绍了关于 MySQL 驱动的内容:

https://docs.djangoproject.com/en/1.8/ref/databases/#mysql-db-api-drivers

撰写回答