1

我正在使用 python 版本3.6.3和 django 版本2.0.1

当我输入py manage.py migratecmd时,我得到了下面的结果。

(需要 mysqlclient 1.3.3 或更高版本;您有 0.7.11.None)

我试图将 mysql 数据库链接到我的 django 项目。

init.py codes:

import pymysql
pymysql.install_as_MySQLdb()

settings.py codes:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': os.path.join(BASE_DIR, 'mysite'),
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '8000',
    }
}
4

2 回答 2

1

我可以从您的设置中看到您正在使用 PyMySQL。请注意,Django 不正式支持 PyMySQL。

Django 建议mysqlclient您使用 MySQL。正如错误消息所说,Django 2.0 需要mysqlclient1.3.3 或更高版本。

PyMySQL有一个 shim用于MySQLdb兼容性,但在 0.7.11 中它伪装成 1.2.6,这对于 Django 2.0 来说太低了。

# we include a doctored version_info here for MySQLdb compatibility
version_info = (1,2,6,"final",0)

该问题已在 master 分支上修复,因此您不会在即将发布的 0.8 版本中遇到该错误。

最后,请注意 Django 并未正式支持 PyMySQL,因此如果您使用它可能会遇到问题。例如,BinaryField.

于 2017-10-10T15:31:38.027 回答
1

删除您的代码

#import pymysql
#pymysql.install_as_MySQLdb()

安装python包“mysqlclient”

pip install mysqlclient
于 2017-12-09T06:58:50.290 回答