'AttributeError: module 'setuptools._distutils' has no attribute 'version'

I was trying to train a model using tensorboard. While executing, I got this error:

$ python train.py Traceback (most recent call last): File "train.py", line 6, in <module> from torch.utils.tensorboard import SummaryWriter File "C:\Users\91960\AppData\Local\Programs\Python\Python38\lib\site-packages\torch\utils\tensorboard\__init__.py", line 4, in <module> LooseVersion = distutils.version.LooseVersion

AttributeError: module 'setuptools._distutils' has no attribute 'version'.

I'm using python 3.8.9 64-bit & tensorflow with distutils is already installed which is required by tensorboard.

Why is this happening ? Please help !



Solution 1:[1]

This is a known bug which has been patched: https://github.com/pytorch/pytorch/pull/69904

You can either use the nightly-release of PyTorch, or otherwise downgrade setup tools to setuptools version 59.5.0:

pip install setuptools==59.5.0

Solution 2:[2]

This command did the trick for me:

python3 -m pip install setuptools==59.5.0

pip successfully installed this version:

Successfully installed setuptools-60.1.0 instead of setuptools-60.2.0

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 zoph