zoukankan      html  css  js  c++  java
  • exceptions: django2.2/ mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

    在centos部署python应用后访问页面,显示如下异常信息

    报错环境 python=3.6,django=2.2
    ……
    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
    解决方法:
    Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql,使用 pip install pymysql 进行安装,然后在工程文件__init__.py添加以下代码即可。

    #安装pymysql
    pip install pymysql
    
    #__init__.py
    import pymysql
    pymysql.install_as_MySQLdb()

    第一种:
    django降到2.1.4版本就OK了

    第二种(仍使用django 2.2版本):

    #找到Python环境下 django包,并进入到backends下的mysql文件夹
    cd /opt/anaconda3/envs/envAGC_Mini/lib/python3.6/site-packages/django/db/backends/mysql
    #文件列表如下

     # 找到base.py文件,注释掉 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文件(46行,版本不同行数不同哈~自个儿find一下),将decode改为encode
     #linux vim 查找快捷键:?decode
     if query is not None:
         query = query.decode(errors='replace')
     return query
     #改为
     if query is not None:
         query = query.encode(errors='replace')
     return query

    修改保存之后,不再报错。

    原文

  • 相关阅读:
    .Net Remoting浅释
    初级SQL开发汇总指南
    WPF Navigation导航
    WPF Button的背景图片设置
    2015/9/20 Python基础(16):类和实例
    2015/9/19 Python基础(15):变量作用域及生成器
    2015/9/18 Python基础(14):函数式编程
    2015/9/17 Python基础(13):函数
    2015/9/15 Python基础(12):模块和包
    2015/9/10 Python基础(11):错误和异常
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/11157606.html
Copyright © 2011-2022 走看看