Spyder运行含torch模块代码提示ModuleNotFoundError如何解决?
Spyder运行PyTorch代码报ModuleNotFoundError的解决方案
报错触发场景
运行以下代码时提示找不到torch模块:
training_set = torch.FloatTensor(training_set) test_set = torch.FloatTensor(test_set)
报错截图:
核心原因
Spyder当前调用的Python解释器,和你安装了PyTorch(torch)的Python环境不属于同一个,导致Spyder无法读取到已安装的torch包。
解决步骤
- 第一步:确认安装了torch的环境路径
打开你平时安装Python包的终端(Windows用Anaconda Prompt/CMD,macOS/Linux用终端),先激活你安装torch的对应环境,依次执行以下命令:- Windows:
where python - macOS/Linux:
which python
再执行pip show torch确认torch确实安装在当前环境下,记录下返回的Python解释器的完整路径。
- Windows:
- 第二步:在Spyder中切换解释器
- 打开Spyder顶部菜单栏的「工具」→「偏好设置」(英文版对应Tools → Preferences)
- 左侧菜单选择「Python解释器」
- 勾选「使用以下Python解释器」,点击右侧浏览按钮,选中上一步记录的、已安装torch的环境下的python.exe文件
- 点击「应用」→「确定」,重启Spyder即可生效
- 第三步:验证配置
重启Spyder后,在内置的IPython控制台执行import torch,无报错说明配置完成,即可正常运行原有代码。
特殊场景适配(Anaconda用户)
如果你是通过Anaconda安装的Spyder,且torch安装在非base的虚拟环境中,也可以直接在对应虚拟环境中安装Spyder,避免切换解释器的操作:
- 终端激活安装了torch的虚拟环境
- 执行
conda install spyder,等待安装完成 - 始终在激活对应环境的状态下启动Spyder,即可保证环境匹配。
内容的提问来源于stack exchange,提问作者Usama Waseem
相关产品推荐
相关产品推荐

