运行PyTorch项目报错ModuleNotFoundError: No module named 'torch.hub'求助
报错成因
该报错的核心原因是当前Python版本下安装的PyTorch 1.10.0模块不完整,缺失torch.hub子模块,导致依赖该模块的torchvision 0.11.1导入失败。
PyTorch 1.10.0版本已正式停止对Python 3.6的支持,在Python 3.6环境中强制安装的PyTorch 1.10.0属于非官方兼容构建,裁剪了部分新功能模块,其中就包括torchvision 0.11.1依赖的torch.hub模块。
依赖包存在的问题
- PyTorch版本与Python版本不兼容:当前运行环境为Python 3.6(可从报错路径
/home/admin/Desktop/Code/project/venv/lib/python3.6/确认),而PyTorch 1.10.0最低支持Python 3.7,版本适配错误导致模块缺失。 - 依赖链断裂:torchvision 0.11.1对标的是完整功能的PyTorch 1.10.0,无法适配裁剪后的PyTorch兼容版本,出现依赖导入错误。
解决方案
方案1:降级依赖适配Python 3.6(无需更换Python版本)
Python 3.6支持的最高官方PyTorch版本为1.7.1,对应适配的torchvision版本为0.8.2,执行以下命令重装即可解决问题:
pip uninstall -y torch torchvision pip install torch==1.7.1 torchvision==0.8.2
如果需要使用CUDA加速,安装对应CUDA版本的带后缀构建包即可。
方案2:升级Python版本(保留高版本PyTorch功能)
如果需要使用PyTorch 1.10.0及更高版本的新特性,可将Python版本升级至3.7~3.10区间的稳定版本,重新创建虚拟环境后安装原有依赖即可正常运行。
内容的提问来源于stack exchange,提问作者Carol.Kar
相关产品推荐
相关产品推荐

