mysqlclient 1.3.13 or newer is required; you have 0.9.3

环境说明

  • 阿里云CentOs7
  • msyql8.0
  • django2.2

两台服务器,一台放数据库,一台部署应用,在执行数据库初始化的时候报错

解决办法

  • 安装mysqlclient

pip install pymysql

  • 修改项目目录下的 __init__.py(projrct/project/__init__.py)
import pymysql
pymysql.install_as_MySQLdb()
  • 修改源码文件

根据错误提示找到base.py, ....django/db/backends/mysql/base.py

# 注释掉下面两行,一般在35-36行
if version < (1, 3, 3):
     raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

继续报错: AttributeError: ‘str’ object has no attribute ‘decode’

根据错误提示找到operations.py

# 修改decode为encode
if query is not None:
    query = query.decode(errors='replace')
return query

重启apache

systemctl restart httpd

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容