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

PyCharm运行datetime代码报无datetime属性错误如何解决

报错原因

你贴出的代码本身语法逻辑没有问题,正常情况下可以正确输出当前时间,报错和代码写法无关,触发原因只有两类:

  • 90%以上的场景是当前PyCharm项目的工作目录下存在自定义命名为datetime.py的文件。Python导入模块时会优先检索运行路径下的文件,你的自定义文件直接覆盖了Python标准库自带的datetime模块,而自定义文件中没有定义datetime类,调用时就会抛出属性不存在的错误。
  • 剩余少数场景是PyCharm解释器配置错位、模块缓存未刷新,导致标准库的导入路径识别异常。
修复步骤
  1. 清理重名文件
  • 打开当前项目的根目录,查找所有命名为datetime.py的自有代码文件,将其重命名为不与标准库冲突的名称,例如my_datetime_test.py。
  • 同步删除项目目录下__pycache__文件夹中所有和datetime相关的.pyc缓存文件,避免旧缓存干扰导入逻辑。

注意:日常写代码时不要将自有文件命名为Python标准库同名模块,例如time.py、json.py、os.py,如果安装了对应第三方库也不要命名为requests.py、pandas.py这类名称,都会触发同类模块覆盖问题。

  1. 验证导入来源
    重命名完成后,可以在代码开头加一行打印语句,确认当前导入的是官方标准库的datetime模块:
import datetime
# 打印模块实际加载路径
print(datetime.__file__)

正常情况下输出路径应当指向你本地Python安装目录下的Lib/datetime.py,如果输出路径仍然在你的项目目录下,说明重名文件没有清理完全或者缓存未删除。

  1. 修复IDE异常(上述步骤无效时操作)
    如果清理文件后仍然报错,点击PyCharm顶部菜单栏的File - Invalidate Caches...,勾选清除文件系统缓存选项后重启IDE,重新在设置中绑定项目使用的Python解释器即可。

补充:如果觉得datetime.datetime的写法冗余,也可以调整导入写法,运行效果完全一致:

# 直接从datetime模块导入datetime类
from datetime import datetime
current_datetime_demo = datetime.today()
print(current_datetime_demo)

内容的提问来源于stack exchange,提问作者bentech

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:09:25