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

PyTorch1.9.0+TensorBoard2.6.0导入SummaryWriter报distutils属性错误求助

解决 AttributeError: module 'distutils' has no attribute 'version' 问题

问题根源

这个错误出现在Python 3.10及以上版本中——该版本开始标记distutils为弃用模块,且移除了部分子模块的直接调用路径,而PyTorch 1.9.0和TensorBoard 2.6.0的代码仍依赖旧版distutils.version的调用方式。

可行解决方案

1. 安装兼容版setuptools补全distutils

Python 3.10+默认不自带完整distutils,通过安装指定版本的setuptools可以补充该模块:

pip install setuptools==59.6.0

该版本与PyTorch 1.9.0、TensorBoard 2.6.0的依赖兼容性较好,能避免版本冲突。

2. 直接修改代码导入逻辑

如果不想调整依赖版本,找到torch/utils/tensorboard目录下调用distutils.version的文件(通常是__init__.py或相关依赖文件),将:

import distutils.version

替换为:

from setuptools.extern import distutils

通过setuptools提供的distutils替代系统模块,解决属性找不到的问题。

3. 降级Python版本

若项目允许,将Python版本降级到3.9.x——该版本自带完整的distutils模块,可直接兼容PyTorch 1.9.0和TensorBoard 2.6.0的依赖要求。

验证方式

修改后运行以下代码测试:

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter()
writer.add_scalar('test', 0.5, 1)
writer.close()

若未报错且生成TensorBoard日志文件,说明问题已解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:05:17