VSCode中Conda环境下Run Code报错:No module named 'torch'
VSCode中Run Code功能报错
ModuleNotFoundError: No module named 'torch',但终端和Run Python File正常 问题描述
在VSCode的Conda环境中运行Python文件时,出现ModuleNotFoundError: No module named 'torch'错误。VSCode的解释器能识别import torch语句(无语法报错),但使用Run Code功能运行时出错;而在终端执行python train.py或使用VSCode的Run Python File选项却能正常运行。
补充细节
- VSCode已正确设置解释器为
...\anaconda3\python.exe - 已通过
conda install pytorch torchvision torchaudio cpuonly -c pytorch和pip install torch torchvision torchaudio安装库 pip list和conda list均显示Conda环境中已安装所需库- 执行
where python得到路径:C:\Users\giova\anaconda3\python.exe和C:\Users\giova\AppData\Local\Microsoft\WindowsApps\python.exe - 执行
where python3返回C:\Users\giova\AppData\Local\Microsoft\WindowsApps\python3.exe,终端运行python train.py正常,仅Run Code报错。
问题原因
VSCode的Run Code功能(通常由Code Runner插件提供)默认使用的Python解释器可能和你设置的Conda环境解释器不一致。Code Runner有独立的配置项指定运行时的Python路径,它可能优先调用了系统默认的python.exe(比如C:\Users\giova\AppData\Local\Microsoft\WindowsApps\python.exe),而这个环境里没有安装torch模块。
解决办法
1. 配置Code Runner使用指定的Python解释器
- 打开VSCode设置(快捷键
Ctrl+,),搜索code-runner.executorMap - 找到Python对应的配置项,将默认的
python或python3替换为你的Conda环境Python路径,示例配置:"code-runner.executorMap": { "python": "\"C:\\Users\\giova\\anaconda3\\python.exe\" -u" } - 保存设置后,重新用Run Code运行文件
2. 让Code Runner在终端中运行
- 打开VSCode设置,搜索
code-runner.runInTerminal,勾选该选项。这样Code Runner会在VSCode的集成终端中执行代码,而终端已经加载了Conda环境的环境变量,能正确识别安装了torch的Python解释器。
3. 调整系统环境变量优先级
- 确保Conda环境的Python路径在系统环境变量
PATH中优先级更高:将C:\Users\giova\anaconda3和C:\Users\giova\anaconda3\Scripts移到PATH列表的顶部,避免系统优先调用WindowsApps下的Python。
关于卸载重装VSCode
卸载重装VSCode不是必要操作,问题根源是Code Runner的配置问题,而非VSCode本身故障。重装可能会重置配置,但不如直接调整配置高效。如果上述方法都无效,再考虑重装,重装时注意备份用户配置文件。
内容的提问来源于stack exchange,提问作者Giovanni Casini
相关产品推荐
相关产品推荐

