VSCode运行代码报ModuleNotFoundError,终端运行文件正常的问题求助
解决VSCode运行代码片段报
ModuleNotFoundError但终端运行文件正常的问题 核心原因
VSCode的「运行代码」(多由Code Runner插件提供)和「运行Python文件」功能使用的Python环境不一致,导致前者无法找到虚拟环境中安装的模块。
解决方案
确认VSCode选中的解释器是虚拟环境版本
- 查看VSCode左下角状态栏的Python版本标识,点击打开解释器选择列表,确认选中的是你创建的
env.[some name]目录下的Python 3.10.6 - 若之前选错,重新选择后建议关闭并重启VSCode,确保环境加载生效
- 查看VSCode左下角状态栏的Python版本标识,点击打开解释器选择列表,确认选中的是你创建的
配置Code Runner使用虚拟环境解释器
- 打开VSCode设置(快捷键
Cmd + ,),搜索code-runner.executorMap - 找到Python对应的配置项,将默认值从
python修改为以下二选一:- 直接指定虚拟环境路径:
./env.[some name]/bin/python3 - 用VSCode内置变量自动匹配选中的解释器:
${python.pythonPath}
- 直接指定虚拟环境路径:
- 保存设置后重新运行代码片段测试
- 打开VSCode设置(快捷键
验证环境一致性
- 在激活虚拟环境的终端中执行:
记录Python路径和已安装模块列表which python3 pip list - 在代码中添加以下内容,分别用「运行代码」和「运行文件」执行:
对比两次输出的Python路径,若不一致则说明环境未统一import sys print(sys.executable) import [module name]
- 在激活虚拟环境的终端中执行:
重置终端或重启编辑器
- 关闭当前VSCode终端面板,重新打开后确认虚拟环境处于激活状态(终端前缀显示
(env.[some name])) - 若上述操作无效,重启VSCode清空环境缓存
- 关闭当前VSCode终端面板,重新打开后确认虚拟环境处于激活状态(终端前缀显示
内容的提问来源于stack exchange,提问作者Diego Brenes
相关产品推荐
相关产品推荐

