You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级PowerShell至7后VS Code无法执行Python文件如何解决

故障根因

PowerShell从5.x升级到7版本后,环境变量加载顺序、脚本执行策略的默认规则和旧版存在差异,VS Code调用PowerShell作为集成终端启动无调试运行任务时,要么命中了错误路径下的Python解释器,要么被执行策略拦截了终端启动脚本,导致进程启动后直接退出,才会出现终端闪一下就消失、看不到报错的情况,核心问题就是PowerShell 7环境下识别到的Python版本,和VS Code选定的3.6.10版本不匹配。

解决步骤
  • 先恢复基础可用状态:打开VS Code设置,搜索配置项terminal.integrated.defaultProfile.windows,将默认集成终端临时设置为Command Prompt,保存设置后重启VS Code,测试无调试运行脚本,确认可以正常输出print("Hello World")的运行结果。
  • 定位PowerShell 7的Python识别异常:打开PowerShell 7终端,执行命令Get-Command python,记录输出结果里的python.exe完整路径,这个就是PowerShell 7当前错误命中的解释器位置——通常是微软应用商店的Python别名、其他软件附带的嵌入式Python抢占了PATH优先级。
  • 修正系统环境变量优先级:打开Windows系统环境变量编辑面板,在用户PATH、系统PATH两个列表中,将Python 3.6.10的安装根目录、其下的Scripts子目录路径移动到PATH列表最顶部,删除列表中无效的Python路径、其他软件内嵌的Python路径、微软应用商店Python别名对应路径,保存后关闭所有已打开的终端窗口。
  • 解除PowerShell 7执行策略拦截:重新打开PowerShell 7,执行命令Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,在弹出的确认提示中输入Y回车,放开当前用户下PowerShell对本地可信脚本的执行权限,避免VS Code终端初始化脚本被拦截。
  • 验证修复效果:完全关闭VS Code后重新打开,将默认集成终端切回PowerShell 7,在终端执行python --version,确认输出版本为3.6.10后,再次运行测试脚本即可正常执行,不会出现终端闪退问题。

临时快速方案:如果暂时不想调整PowerShell全局配置,可以在打开Python文件后,点击编辑器右上角运行按钮旁的下拉箭头,选择「在Python专用终端中运行」,该模式会直接调用VS Code选定的3.6.10解释器启动独立终端,不受系统全局终端环境变量配置影响。

内容的提问来源于stack exchange,提问作者Dani S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 02:02:18