import torch.nn as nn 产生的 No module named ‘torch._C‘ 错误

我用pip 安装了pytorch(安装参考官网),然后可以 import torch,可是 import torch.nn as nn 的时候就一直会报这个错误:

 ModuleNotFoundError: No module named 'torch._C'

然后我上网搜发现大家都是import torch就产生这个错误了,可我import torch的时候是正常的。
当产生这个错误的时候我们要

ls ./Softwares/Anacondas/envs/<env-name>/lib/python3.7/site-packages/torch

反正就是ls一下你site-packages/里的torch/文件夹,别人专门没有创建conda 环境的话是在这里:/usr/local/lib/python3.6/site-packages/torch
然后别人说从import torch就发生这个错误的原因是,在ls这里就可以发现是_C, _dl两个so文件名字太长(参考 https://cloud.tencent.com/developer/article/1016506)。
而我发现我这个文件夹下根本没有_C,而且别人这里面很多文件我也没有。
于是我觉得是torch的安装出了问题,回想起来大概是刚刚安装的时候报磁盘存储空间不够所以没装好,然后我反复pip install torch ,然而错误依旧。最后我就卸载了刚刚用pip装的torch torchvision torchaudio这几个包:

pip3 uninstall torch torchvision torchaudio 

然后重新用conda装(安装参考官网),然后就可以正常使用 import torch.nn as nn 了。

conda有个好处,就是你装到一半磁盘不够了,它会暂停在那里不动,此时系统弹出提醒然后你疯狂清磁盘,当你清理好磁盘conda会接着装,而不是像pip一样报个错误就结束,然后你清理好磁盘再重新用pip装pip它就假装你装好了。

觉得这篇文章有用的话就点点赞点点关注都可以呀~

来源:进阶的睡神

物联沃分享整理
物联沃-IOTWORD物联网 » import torch.nn as nn 产生的 No module named ‘torch._C‘ 错误

发表评论