Python导入mysql.connector报错module 'datetime'无date属性如何解决
问题定位
首先该报错与你自身代码是否直接调用datetime无关,本质是自定义文件和Python标准库模块重名,导致官方模块被覆盖:
- 先在你的
combo.py最顶部添加以下两行代码,执行后查看输出的路径:
import datetime print(datetime.__file__)
- 如果输出的路径不是Python标准库对应的datetime路径(标准路径应为
C:\Users\mg kaung sat\AppData\Local\Programs\Python\Python37\lib\datetime.py),就说明你当前项目目录/导入路径里存在自定义的datetime.py文件,优先被Python加载了,而这个自定义文件里没有定义date属性,所以系统标准库calendar.py调用datetime.date时抛出错误。
解决步骤
- 找到上述输出路径对应的自定义
datetime.py文件,将其重命名为不与标准库冲突的名称,比如datetime_utils.py - 删除同目录下的
datetime.pyc缓存文件,以及项目根目录下的__pycache__文件夹 - 重新执行你的代码即可恢复正常
注意事项
后续编写Python代码时,不要将自定义文件命名为和Python标准库、已安装第三方库同名的名称,避免出现类似的模块覆盖冲突问题。
内容的提问来源于stack exchange,提问作者Kaung Sat
相关产品推荐
相关产品推荐

