VSCode中配置Python虚拟环境时遇到问题:
.\.venv\Scripts\activate : 无法加载文件 ~\.venv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
问题的根源:Win10默认PS的执行策略是不载入任何配置文件,不运行任何脚本。
查看当前执行策略
Powershell 执行命令 get-executionpolicy,默认结果为Restricted(受限),如下:
PS C:\Users\YsMilit> get-executionpolicy
Restricted
返回内容详解
— Restricted: 不载入任何配置文件,不运行任何脚本。 “Restricted” 是默认的。
— AllSigned: 只有被Trusted Publisher签名的脚本或者配置文件才能使用,包括你自己再本地写的脚本。
— RemoteSigned: 对于从Internet上下载的脚本或者配置文件,只有被Trusted Publisher签名的才能使用。
— Unrestricted: 可以载入所有配置文件,可以运行所有脚本文件。如果你运行一个从internet下载并且没有签名的脚本,在运行之前,你会被提示需要一定的权限。
— Bypass: 所有东西都可以使用,并且没有提示和警告。
— Undefined: 删除当前Scope被赋予的ExecutionPolicy,但是Group Policy Scope的Execution Policy不会被删除。
修改执行策略
涉及到注册表问题,设置全局执行策略必须“以管理员身份运行”选项启动 Windows PowerShell,cmd 测试不行。
Set-ExecutionPolicy参数:设置全局执行策略为参数Set-ExecutionPolicy参数-Scope CurrentUser:设置当前用户执行策略为参数,无需管理员权限
解决方法:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
然后就可以执行脚本文件了
The End.
评论