ModuleNotFoundError: No module named 'google.protobuf.internal'
报错内容
Traceback (most recent call last): File "D:/code/stargan-v2-onehot-chd-slim/main.py", line 23, in <module> from torch.utils.tensorboard import SummaryWriter File "C:\ProgramData\Anaconda3\envs\dgl\lib\site-packages\torch\utils\tensorboard\__init__.py", line 13, in <module> from .writer import FileWriter, SummaryWriter # noqa: F401 File "C:\ProgramData\Anaconda3\envs\dgl\lib\site-packages\torch\utils\tensorboard\writer.py", line 9, in <module> from tensorboard.compat.proto.event_pb2 import SessionLog File "C:\ProgramData\Anaconda3\envs\dgl\lib\site-packages\tensorboard\compat\proto\event_pb2.py", line 7, in <module> from google.protobuf.internal import enum_type_wrapper ModuleNotFoundError: No module named 'google.protobuf.internal'
问题原因
在cmd中输入
python -m site
会显示
USER_BASE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python' (exists) USER_SITE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python38\\site-packages' (exist) ENABLE_USER_SITE: True
出现之前报错内容的原因是python在首先使用了
C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python38\\site-packages
里面的google,所以不管你怎么卸载重装google,protobuf都还是报错(神奇的是报错的来源文件还并不是上面文件夹内的文件,导致一直找不到错误在哪)
解决方法
找到你的C:\Users\Administrator\AppData\Roaming\Python,把里面的Python38文件夹(根据python版本不同,名字可能不同)改个名字或者删掉,让它找不到这个文件夹,就不会调用这个里面的文件了。