DjangoBug | ImportError: cannot import name ‘CLIENT‘和AttributeError: module ‘MySQLdb.constants.FIELD

BUG场景:

我是在用Django进行项目练习在setting.py中设置Mysql数据库配置中出现了下述的错误
两个错误先后出现

1. AttributeError: module‘MySQLdb.constants.FIELD_TYPE’has no attribute‘JSON’
2. ImportError: cannot import name 'CLIENT‘

在这里插入图片描述

  1. 刚开始出现错误是:AttributeError: module 'MySQLdb.constants.FIELD 【这个网上搜索有很多 推荐这篇 python之bug2_AttributeError: module‘MySQLdb.constants.FIELD_TYPE’has no attribute‘JSON’

  2. 自己网上搜索后按照晚上的结局办法出现第二个错误: ImportError: cannot import name ‘CLIENT’【截止这篇博客,网上我没有看到解决方法】

重点是:我解决了1 —> 出现了2 解决了2 -----> 又出现了1 【说明1没有彻底解决】
在这里插入图片描述

在此 记录 BUG

mysql的有关数据库第三方包 是 mysqlclient --大家基本都是python3.x

在这里插入图片描述

与Django 配合要大于1.4.0 版本

AttributeError: module 'MySQLdb.constants.FIELD

最先出现这个错误的时候是由于我的数据库没有配置好
在这里插入图片描述
也就是因为这个操作 :
Django去数据库找, 没有只能报错 情急之下 我就搜索报错的语句【没有仔细分析,实际上我心里还想着 前几天还能用 这次怎么就不行了】
然后 就 一顿乱装 第三方包 也就出现了这个错误

  • 有关的操作
  1. Navcat的数据库工具使用 包括 连接【连接的名称】,数据库的创建 数据表的创建
    在这里插入图片描述
    因为上面的操作 我的数据库实际上是没有创建的
  2. 正确的创建
    在这里插入图片描述
    在这里插入图片描述

ImportError: cannot import name 'CLIENT ’

出现这个的原因是由于找不到这个 那我们分析:
在这里插入图片描述

File “…site-packages\django\db\backends\mysql\base.py”, line 22, in

找这个包site-packages\django

在这里插入图片描述
在这里插入图片描述
卸载从装后 又出现了 AttributeError: module‘MySQLdb.constants.FIELD_TYPE’has no attribute‘JSON’

我靠 ,因为我是conda 安装的 因此 又出现了 该错误,因为我知道是版本不匹配的问题:
在这里插入图片描述
若是又按照原来的方法 就成死循环了 就一直会出错误

你肯定想说 使用conda install mysqlclient==1.4 指定版本不就行了? 是的我也这样思考过:

  • 命令 查找conda仓库中的版本
conda search mysqlclient --channel conda-forge

在这里插入图片描述
在这里插入图片描述
好好好 换个思路 那我 就单纯的使用 pip命令卸载mysqlclient 就好了啊 然后pip命令安装 1.4版本以上的

  • pip uninstall mysqlclient 卸载顺利

  • pip3 install mysqlclient 报错 出红了
    在这里插入图片描述

靠,感觉离希望很近了 别慌 Kimi分析:
在这里插入图片描述

实际上 也没用 换思路 既然现有的环境安装1.4版本以上的mysqlclient如此困难呢 那可不可以不使用pip 和conda 命令呢? 肯定是有的

  • 召唤Kimi
    在这里插入图片描述
    在这里插入图片描述

  • 结果

在这里插入图片描述

  • 查看Django服务器反馈情况
    在这里插入图片描述

解决方案:

试错 + 仔细分析 + 捋清思路

一行settings.py代码写错 惹出来这么多事 所以 一定要仔细仔细再仔细!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值