目录
BUG场景:
我是在用Django进行项目练习在setting.py中设置Mysql数据库配置中出现了下述的错误
两个错误先后出现
1. AttributeError: module‘MySQLdb.constants.FIELD_TYPE’has no attribute‘JSON’
2. ImportError: cannot import name 'CLIENT‘
-
刚开始出现错误是:AttributeError: module 'MySQLdb.constants.FIELD 【这个网上搜索有很多 推荐这篇 python之bug2_AttributeError: module‘MySQLdb.constants.FIELD_TYPE’has no attribute‘JSON’】
-
自己网上搜索后按照晚上的结局办法出现第二个错误: 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去数据库找, 没有只能报错 情急之下 我就搜索报错的语句【没有仔细分析,实际上我心里还想着 前几天还能用 这次怎么就不行了】
然后 就 一顿乱装 第三方包 也就出现了这个错误
- 有关的操作
- Navcat的数据库工具使用 包括 连接【连接的名称】,数据库的创建 数据表的创建
因为上面的操作 我的数据库实际上是没有创建的 - 正确的创建
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代码写错 惹出来这么多事 所以 一定要仔细仔细再仔细!!!!