答案是运行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser并重启终端。VSCode默认PowerShell执行策略为Restricted,导致.py脚本被拦截;需在终端执行该命令使当前用户策略生效,再关闭所有终端新建一个,同时确认右下角显示带路径的Python解释器。

VSCode 里点 ▶️ 或右键“Run Python File in Terminal”没输出、报红错、终端一闪而过——十有八九是 PowerShell 执行策略在拦你,不是 Python 没装好,也不是代码有问题。
PowerShell 报 “running scripts is disabled on this system” 怎么办
这是 Windows 上 PowerShell 的默认安全限制,VSCode 集成终端默认就用它。错误信息长这样:cannot be loaded because running scripts is disabled on this system。
- 别去改注册表或重装 Python——这和 Python 本身无关
- 在 VSCode 终端里直接运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 运行后输入
Get-ExecutionPolicy -Scope CurrentUser,确认返回值是RemoteSigned - 关掉所有已打开的集成终端,再新建一个,策略才生效
- 不用管理员权限,
-Scope CurrentUser是关键,避免系统级风险
为什么改了策略还是不行?检查终端是不是真在用 PowerShell
很多人以为自己切到了 CMD,其实 VSCode 新建终端仍默认启动 PowerShell——尤其 Win10/11 系统。
- 按
Ctrl+Shift+P→ 输入Terminal: Select Default Profile→ 选Command Prompt(Windows)或Git Bash(如有) - 改完后,已打开的终端不会自动切换,必须关掉再点“新建终端”
- 如果列表里没出现 Git Bash,说明 VSCode 没检测到它的可执行路径,需手动配置
terminal.integrated.profiles.windows - PowerShell 下
./script.py会被当脚本拦截,但python script.py不会——后者才是推荐写法
终端能跑 python script.py,但 VSCode ▶️ 按钮没反应
按钮行为由 Python 扩展控制,它不继承终端的执行策略,但依赖解释器是否被显式选定。
立即学习“Python免费学习笔记(深入)”;
- 右下角状态栏必须显示带路径的解释器,例如:
Python 3.12.3 ('venv': venv)或C:\path\to\python.exe - 只写
Python 3.x (Global)就等于没配成功 - 按
Ctrl+Shift+P→Python: Select Interpreter,从列表里挑带完整路径的项,别选模糊描述 - conda/poetry 用户注意:不要选
poetry env info --path返回的目录,要进到里面找bin/python或Scripts\python.exe - 如果脚本末尾没
input()或输出语句,终端会立刻关闭——看起来像“没反应”,其实是执行完了
Linux/macOS 用户也得防“一闪而过”和路径问题
虽然没 PowerShell 策略,但终端行为差异一样导致失败。
- 脚本首行必须加 shebang:
#!/usr/bin/env python3,且文件要有执行权限:chmod +x script.py - VSCode 默认终端可能用 zsh,但你的
~/.zshrc有语法错误时,终端会静默退出——检查方法:在终端里手动运行source ~/.zshrc - 确保工作目录正确:
"terminal.integrated.cwd": "${fileDirname}"加到settings.json,否则open("data.txt")可能找不到文件 - 模块导入失败?不是包没装,是终端当前 Python 环境和 VSCode 选的解释器不一致——在终端里跑
which python和python -m pip list | grep requests对比验证
真正卡住人的,从来不是“会不会装 Python”,而是 VSCode 的终端、解释器、执行策略三者没对齐。每个环节都得单独验证,不能靠猜。


















