VS Code中PowerShell激活虚拟环境需重复执行策略命令的问题
解决PowerShell中Python虚拟环境无需重复设置即可激活的问题
问题
在VS Code里用PowerShell激活Python虚拟环境时,执行.venv\Scripts\activate会报错:
.venv\Scripts\activate : File C:\PYTHON\.venv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 + .venv\Scripts\activate + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
使用Set-ExecutionPolicy RemoteSigned -Scope Process可临时解决,但每次打开新终端都需重复执行;虚拟环境在CMD中可正常使用,希望实现无需重复执行命令即可激活。
永久解决办法
1. 设置用户级PowerShell执行策略
以管理员身份打开PowerShell,执行以下命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
弹出确认提示时输入Y并回车。该设置对当前用户的所有PowerShell会话生效,无需每次启动终端都重新配置。
说明:
RemoteSigned策略允许本地脚本正常运行,仅要求从互联网下载的脚本必须带有可信签名,既保证系统安全,又满足本地虚拟环境脚本的运行需求。
2. 配置VS Code默认终端
- 打开VS Code,按
Ctrl+,打开设置界面 - 在搜索框输入
terminal.integrated.defaultProfile.windows,选择PowerShell作为默认终端 - 重启VS Code后,新打开的终端会自动应用用户级执行策略,直接执行
.venv\Scripts\activate即可激活虚拟环境
3. 给VS Code终端添加启动参数(适合不想修改全局策略的场景)
- 打开VS Code设置,搜索
terminal.integrated.profiles.windows - 找到PowerShell的配置项,将其
args修改为:
"-ExecutionPolicy", "RemoteSigned"
保存设置后,每次VS Code启动PowerShell终端时都会自动带上该参数,无需手动执行策略命令。
验证方法
打开新的PowerShell终端(系统自带或VS Code内置终端均可),直接执行虚拟环境激活命令.venv\Scripts\activate,若终端前缀出现.venv标识,则说明设置生效。
内容的提问来源于stack exchange,提问作者indrajith_19
相关产品推荐
相关产品推荐

