.\venv\Scripts\activate 无法加载?一行命令解决 PowerShell 脚本执行限制
这个错误是PowerShell的安全机制在起作用,但它并不是一个难以解决的问题。
好消息是,要解决它,你不需要重装Python,也不需要删除虚拟环境,更不需要“以毒攻毒”地采用不安全的策略。下面是几种安全且有效的解决方法,你可以根据需要选择:
### 🥇 方案一:快速无痕,临时绕过(最推荐)
这是最安全、最便捷的方法,特别适合你当前的场景。
1、在VS Code或你电脑的PowerShell终端中,执行以下命令。这行命令只会改变当前这个终端窗口的执行策略,关闭窗口后会自动恢复原状。
```PowerShell
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
```
2、接着,再运行虚拟环境的激活命令即可:
```PowerShell
.\venv\Scripts\activate
```
运行效果预览:执行命令后,命令行提示符前应出现 (venv),表示已成功激活虚拟环境。
🥈 方案二:一劳永逸,永久修改
如果你希望以后所有PowerShell窗口都允许运行脚本,这个方案最适合你。
1、在Windows搜索框输入 PowerShell,在搜索结果中右键点击“Windows PowerShell”,选择 “以管理员身份运行”。
2、在弹出的用户账户控制窗口中点击“是”。
3、在打开的PowerShell窗口中,输入以下命令并按回车:
```PowerShell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```
> 这条命令将执行策略设置为 RemoteSigned,它允许运行你自己编写的本地脚本,而网络下载的脚本则必须有可信的数字签名才能运行。这是在安全和便利之间最好的平衡。-Scope CurrentUser 参数指定这个设置只应用于你当前的Windows用户账户,不会影响电脑上的其他人。
4、系统会提示你确认更改,输入 Y 然后按回车即可。
5、之后,你就可以随时正常使用 .\venv\Scripts\activate 来激活虚拟环境了。
### 🥉 方案三:另辟蹊径,更换终端(巧妙的绕行方案)
这个方法巧妙地避开了问题本身。
在VS Code中,你可以轻松地将默认终端从PowerShell更换为命令提示符(cmd),因为CMD没有PowerShell这样的执行策略限制。
1、在VS Code中打开任意一个终端。
2、点击终端窗口右上角的下拉菜单(通常显示为“1: powershell”或一个“+”号旁边的图标)。
3、在下拉菜单中选择 “Command Prompt”。
4、在新打开的CMD终端中,使用以下命令激活虚拟环境:
```cmd
.\venv\Scripts\activate.bat
```
分类:开发小知识作者:Pmcoder状态:发布时间:2026-05-20 10:56:20