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

PyTorch导入SummaryWriter触发循环导入ImportError问题问询

报错根因

这是典型的自定义模块名遮蔽第三方包导致的循环导入,从报错栈第一行就能定位问题:你的项目目录下存在自己创建的tensorboard.py文件,和安装的tensorboard第三方包完全重名。

Python导入模块时会优先搜索当前脚本所在的项目目录,因此当torch.utils.tensorboard内部执行import tensorboard语句时,加载的不是环境里安装的官方tensorboard包,而是你自己写的这个tensorboard.py。而你的tensorboard.py里又在反向导入torch.utils.tensorboard里的SummaryWriter,两个模块互相等待对方初始化完成,就触发了循环导入报错。

另外从报错路径能看到当前运行的torch来自Python3.8的系统包目录,和你配置的Python3.9环境不匹配,说明PyCharm的解释器选错了,属于次要配置问题。

修复步骤
  • 把项目里的tensorboard.py改成其他不重名的文件名,比如train_log.py、tb_demo.py都行,不要和任何已安装的第三方包重名。
  • 删掉项目目录下的__pycache__文件夹,清除之前导入生成的.pyc缓存,避免旧缓存导致报错复现。
  • 打开PyCharm的解释器设置,确认当前选中的Python解释器是你装了Python3.9、对应版本torch和tensorboard的虚拟环境,不要用系统全局的Python3.8。
  • 重启PyCharm的运行控制台,重新执行代码即可。
校验方式

修复后可以先执行下面两行代码验证导入路径是否正确:

import tensorboard
print(tensorboard.__file__)

如果输出路径是虚拟环境下的site-packages/tensorboard/__init__.py,不是你项目目录下的文件,就说明模块遮蔽问题已经解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 02:54:25