2017-10-10 658 views
1

我使用python版本3.6.3和django版本2.0.1mysqlclient 1.3.3或更新版本是必需的;你有0.7.11。无

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

(1.3.3的mysql或更新的要求,你必须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', 
    } 
} 
+2

嗯,你尝试升级的mysql? –

回答

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存在问题。

1

删除代码

#import pymysql 
#pymysql.install_as_MySQLdb() 

安装Python包 “的mysql”

pip install mysqlclient 
相关问题