根本原因是vscode终端未继承python路径:macos/linux需设terminal.integrated.shellargs为["-l"]启用登录shell,windows应手动补path或从终端执行code启动。

终端执行python命令报“Command not found”
根本原因是系统 PATH 没包含 Python 可执行文件,VSCode 终端继承的是 shell 的环境变量,不是你点选的解释器路径。
验证方式:在 VSCode 内置终端里直接运行 which python(macOS/Linux)或 where python(Windows),如果返回空或报错,说明 PATH 里真没它。
- 去 python.org 下载安装包,安装时务必勾选 Add Python to PATH
- Windows 用户若已安装但 still not found,打开系统环境变量设置,手动把 Python 安装目录(如
C:\Users\XXX\AppData\Local\Programs\Python\Python312\)和 Scripts 子目录(...\Python312\Scripts\)都加进 PATH - macOS/Linux 用户若用 pyenv 或 conda,确保 shell 配置文件(
~/.zshrc或~/.bash_profile)里有初始化语句,且 VSCode 是从终端用code .启动的,否则 GUI 启动不加载这些配置
右下角显示 Python 但终端里 python -c "import sys; print(sys.executable)" 路径不一致
这是最隐蔽也最常被跳过的坑:VSCode 状态栏显示的只是“候选解释器”,终端进程并不会自动同步它。你点选了 .venv/bin/python,新开终端默认还是走 /usr/bin/python3。
- 必须在 VSCode 终端里先执行
python -c "import sys; print(sys.executable)",拿到真实路径 - 再按
Ctrl+Shift+P→Python: Select Interpreter,粘贴这个路径(或从列表里精准选中带相同路径的项) - 关闭所有已打开的终端页签,再按
Ctrl+`新建一个——旧终端进程缓存不会刷新,重开才生效 - macOS 用户双击图标启动 VSCode 时,
~/.zshrc中的 pyenv/conda 初始化常被跳过,推荐始终从终端执行code .
终端能跑脚本,但点 ▶️ 运行按钮报 ModuleNotFoundError
绿色三角按钮背后调用的是独立执行逻辑(类似 python -u script.py),它不依赖终端当前激活状态,只认右下角选中的解释器路径。但如果你之前用裸 pip install 装包,很可能装到了另一个环境。
- 确认解释器路径一致后,在终端里执行
python -m pip install requests(别用pip install) - 批量安装:用
python -m pip install -r requirements.txt - 检查是否误用了 Code Runner 插件——它的
executorMap默认写"python": "python -u $fullFileName",而你的系统只有python3;需改配置为"python": "python3 -u $fullFileName"或填绝对路径 - 如果用了虚拟环境,Code Runner 不会自动激活它,要么换回原生 Python 插件的
Run Python File in Terminal,要么把 executorMap 指向.venv/bin/python(macOS/Linux)或.venv\Scripts\python.exe(Windows)
终端提示 Permission denied 或脚本一闪而过
前者多见于 Linux/macOS 下直接执行 ./script.py 但没加可执行权限;后者是 python -u 执行完就退出,带 input() 的脚本根本来不及输入。
-
Permission denied:不是 Python 问题,是文件权限。运行chmod +x script.py再试,或干脆别用./script.py,统一用python script.py - 脚本一闪而过:点击 ▶️ 本质是后台执行,无交互保持。解决办法是右键文件 →
Run Python File in Terminal,或者在脚本末尾加一行input("Press Enter to exit...") - 某些远程场景(WSL、Remote-SSH)下,Python 插件可能只装在远程端,本地 VSCode 看不到解释器选项——此时状态栏显示“Select interpreter”,右键也没有运行菜单,不是坏了,是插件没在当前上下文加载
sys.executable 和 python -m pip list 是否对得上,而不是只看状态栏显示。Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











