如何修改VS Code中Code Runner的默认Python执行命令?
问题解决方案
你的核心问题是系统中存在两个独立的Python版本:python指向3.10.9,py指向3.11.4,你安装的numpy、pandas等模块都在3.11.4的环境中,因此用python运行代码时会出现模块找不到的错误,虚拟环境的结构差异也源于此版本/启动器的区别。
1. 修改Code Runner默认使用py命令
- 打开VS Code,按下
Ctrl+,快捷键打开设置界面 - 在顶部搜索框输入
code-runner.executorMap,定位到Code Runner的执行器配置项 - 点击该项右侧的
编辑 in settings.json,找到"python"对应的配置行,将原内容:
修改为:"python": "python -u $fullFileName""python": "py -u $fullFileName" - 保存
settings.json文件,之后点击Code Runner的运行按钮,就会自动用py命令执行代码
2. 虚拟环境文件夹差异的合理性
这是正常现象,原因如下:
- 当你使用
python -m venv或python3 -m venv时,调用的是3.10.9版本的Python,该版本可能是类Unix兼容模式的构建(比如通过WSL、Git Bash配套安装,或是安装时勾选了类Unix环境选项),这类Python创建的虚拟环境会采用类Unix的目录结构,即用bin文件夹存放启动脚本 - 而
py是Windows官方提供的Python启动器,调用的是Windows原生的3.11.4版本Python,Windows平台的虚拟环境默认使用Scripts文件夹存放激活脚本,因此目录结构不同
3. 版本差异是问题的根源
你在CMD中安装模块时,实际使用的是py对应的3.11.4版本的pip(pip默认与当前调用的Python版本绑定),因此模块都被安装到了3.11.4的环境中。而Code Runner默认用python调用3.10.9版本,该环境未安装相关模块,所以会抛出ModuleNotFoundError。改用py运行后,代码会在有模块的3.11.4环境中执行,问题即可解决。
内容的提问来源于stack exchange,提问作者Biographics Mean
相关产品推荐
相关产品推荐

