天天看點

Django将資料庫切換為Mysql及mysqlclient 1.3.13 or newer is required; you have 0.9.2報錯解決方案

1.安裝pymysql資料庫驅動:

pip install pymysql

python3不支援MySQLdb,是以用pymysql代替

2.配置Django中的DATABASE

在settings.py中找到DATABASE

DATABASES = {

‘default’: {

‘ENGINE’: ‘django.db.backends.mysql’, #資料庫引擎

‘NAME’: ‘dj_experiment_db’, #資料庫名

‘USER’: ‘root’, #賬戶名

‘PASSWORD’: ‘password’, #密碼

‘HOST’: ‘localhost’, #主機

‘PORT’: ‘3306’, #端口

}

}

接着在項目下的_init_.py添加如下代碼

import pymysql

pymysql.install_as_MySQLdb()

然後在settings.py檔案中設定TIME_ZONE為自己的時區

TIME_ZONE = ‘Asia/Shanghai’

最後執行資料庫遷移指令

python manage.py makemigrations

python manage.py migrate

然後我們登入資料庫,連接配接資料庫dj_experiment_db,輸入show tables;就可以看到django建立的架構應用的表了

報錯解決方案

報錯代碼:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.2

使用python3.7+django2.2+pymysql時遇到這個錯誤,

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.2

1

别急,這主要是django2.2内部的一個版本限制在作怪

處理方案

1.修複源碼

按照文中配置,報錯django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

原因:django2.2和pymysql版本不比對。mysqldb不支援python3.

解決方案:

1、raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)

  django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.  

解決辦法:

C:\Python37\Lib\site-packages\django\db\backends\mysql(python安裝目錄)打開base.py,注釋掉以下内容:        

if version < (1, 3, 13):           raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.’ % Database.version)   

2、File “C:\Python37\lib\site-packages\django\db\backends\mysql\operations.py”, line 146, in last_executed_query   

query = query.decode(errors=‘replace’)   

AttributeError: ‘str’ object has no attribute ‘decode’   

解決辦法:

打開此檔案把146行的decode修改為encode

找到安裝python的這個位置

ps.django2.2不支援pyMySQL,但2.2是LTS,有想過試試mysqldb,但是MySQLDB又不支援python3。。。。的确讓人頭大。

————————————————

版權聲明:本文為CSDN部落客「溫溫淨」的原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_45476498/article/details/100098297