You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6使用mysql.connector报错AttributeError问题求助

问题分析与解决方案

这个问题的根源是脚本文件名和Python标准库模块重名了!

看报错信息里的关键线索:

File "C:\Users\preet\Desktop\ptyhon-newspaper\select.py", line 7, in <module>
    cnx = mysql.connector.connect(user='root', password='Jinqm21k',
AttributeError: module 'mysql' has no attribute 'connector'

再往上追溯调用链会发现,mysql.connector内部的network.py尝试导入标准库的select模块时,错误地加载了你自己写的select.py:

File "C:\Users\preet\AppData\Local\Programs\Python\Python36\lib\selectors.py", line 11, in <module>
    import select
File "C:\Users\preet\Desktop\ptyhon-newspaper\select.py", line 7, in <module>

Python的模块导入优先级是:先找当前工作目录下的文件,再去系统库目录查找。你的脚本刚好和标准库的select模块同名,导致mysql-connector内部的导入逻辑被打乱,形成循环导入,最终抛出这个看似和mysql无关的错误。

快速修复步骤:

  • 马上把你的查询脚本重命名,比如改成employee_query.py或者任何不与Python标准库模块同名的名字(可以提前查一下Python标准库列表,避免再踩同类坑)。
  • 如果当前目录下生成了select.pyc(Python编译后的缓存文件),也一并删除,防止缓存残留干扰后续运行。
  • 重新运行修改后的脚本,应该就能正常导入mysql.connector并执行所有数据库操作了。

至于为什么一开始正常后来突然报错,大概率是你后来把脚本改成了select.py——之前的文件名没有冲突,所以能正常运行~

内容的提问来源于stack exchange,提问作者Lovepreet Singh Batth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:32:48