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版本不同,名字可能不同)改个名字或者删掉,让它找不到这个文件夹,就不会调用这个里面的文件了。

 

 

 
posted @ 2022-11-20 20:45  evtricks  阅读(513)  评论(0编辑  收藏  举报