1. 为什么VSCode终端无法识别Python和Node.js命令?
这个问题困扰过不少开发者,尤其是刚配置新环境的时候。明明在系统命令行里能正常运行的python、pip、node、npm等命令,到了VSCode终端却提示"无法识别"。这种情况我遇到过不下十次,每次帮团队新人配置环境时都会重现。
根本原因在于Windows系统的PowerShell执行策略限制。默认情况下,PowerShell处于最严格的Restricted模式,禁止任何脚本运行。VSCode内置终端默认使用PowerShell,这就导致我们无法直接执行python脚本或npm安装命令。
2. 理解PowerShell的四种执行策略
PowerShell有四种执行策略,理解它们的区别很重要:
2.1 Restricted模式
这是默认设置,也是最严格的模式。在这个模式下,任何脚本文件(.ps1)都无法运行,只能执行单独的命令。这就是为什么你在VSCode终端输入python会报错的原因。
2.2 AllSigned模式
只允许运行经过数字证书签名的脚本。虽然安全性高,但日常开发中很不方便,因为每个脚本都需要签名才能运行。
2.3 RemoteSigned模式
这是推荐的平衡方案。本地创建的脚本可以直接运行,但从互联网下载的脚本必须要有数字签名。这个模式既保证了安全性,又不影响日常开发。
2.4 Unrestricted模式
完全开放,允许运行所有脚本。虽然用起来最方便,但安全性最低,不建议使用。
3. 修改执行策略的详细步骤
3.1 检查当前执行策略
首先我们需要确认当前的执行策略。按下Win键,搜索"PowerShell",右键选择"以管理员身份运行",然后输入:
Get-ExecutionPolicy
如果返回"Restricted",说明正是这个问题导致命令无法识别。


397

被折叠的 条评论
为什么被折叠?



