PowerShell 激活 Python 虚拟环境报错解决方法
在 PowerShell 中激活 Python 虚拟环境时,常遇到不支持激活或脚本无法运行的提示。这通常是由于执行策略限制或终端类型不匹配导致的。以下是几种解决方案。
方法一:切换到命令提示符(CMD)
这是最直接的方法,适用于不想修改系统设置的情况。
- 关闭当前 PowerShell 窗口。
- 按下
Win + R,输入cmd回车打开命令提示符。 - 进入项目目录后,使用以下命令激活环境:
.
venv\Scripts\activate.bat
激活成功后,命令行开头会出现 (venv) 标识。
方法二:修改 PowerShell 执行策略(推荐)
PowerShell 默认限制了脚本执行权限。通过修改策略,可以在 PowerShell 中直接激活。
步骤 1:以管理员身份打开 PowerShell
- 搜索
PowerShell。 - 右键选择 以管理员身份运行。
- 验证是否为真正的 PowerShell:输入
$PSVersionTable,若能显示版本信息则成功。
步骤 2:修改执行策略
在管理员模式的 PowerShell 中输入以下命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
-Scope CurrentUser:仅修改当前用户策略,避免系统级权限问题。-Force:跳过确认提示。
执行成功后会显示'执行策略更改'提示。
步骤 3:激活虚拟环境
关闭管理员窗口,重新打开普通 PowerShell,进入项目目录执行:
.
venv\Scripts\Activate.ps1
若仍提示'不是内部命令',可能是路径异常,可使用完整路径调用:
& "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe" -Command "Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force"
步骤 4:验证生效
输入以下命令检查策略状态:
Get-ExecutionPolicy -Scope CurrentUser
若输出 RemoteSigned,说明修改成功,即可正常激活 Python 虚拟环境。
方法三:VS Code 终端配置
如果在 VS Code 终端中遇到问题,可调整默认终端配置:
- 打开设置(快捷键
Ctrl + ,)。 - 搜索
terminal.integrated.defaultProfile.windows。 - 将默认终端从
PowerShell改为Command Prompt。 - 重启 VS Code 终端后再尝试激活。
备用方案:临时允许脚本运行
若不想修改系统策略,可临时允许当前会话执行脚本:
powershell -ExecutionPolicy Bypass -File .\venv\Scripts\Activate.ps1

