mysqlclient 1.3.3或更新版本是必需的;你有0.7.11.None

问题描述 投票:1回答:2

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

当我在cmd中输入py manage.py migrate时,我得到了下面的结果。

(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',
    }
}
python mysql django pymysql django-2.0
2个回答
1
投票

删除你的代码

#import pymysql
#pymysql.install_as_MySQLdb()

安装python包“mysqlclient”

pip install mysqlclient

1
投票

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

如果您使用MySQL,Django建议使用mysqlclient。正如错误消息所示,Django 2.0需要mysqlclient 1.3.3或更新版本。

PyMySQL has a 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)

问题是fixed on the master branch所以你不会在即将发布的0.8版本中得到这个错误。

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

© www.soinside.com 2019 - 2024. All rights reserved.