解决python venv虚拟环境 Scripts\Activate.ps1,因为在此系统上禁止运行脚本的问题

今天因为要测试一下代码,在 win10 的电脑上安装了python3.10,因为不想太污染办公系统,所以想着用python 自带的 虚拟环境 venv 来安装扩展

安装完虚拟环境后,用 Windows PowerShell 执行 .\venv\Scripts\activate 的时候报下面的错误

.\venv\Scripts\activate : 无法加载文件 D:\python\venv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 
所在位置 行:1 字符: 1
+ .\venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

这是因为执行策略可帮助你防止执行不信任的脚本,我们把安全策略改了就行

首先用管理员模式运行 Windows PowerShell , 然后输入get-ExecutionPolicy 取得shell的当前执行策略,看到返回了 Restricted 默认值

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\WINDOWS\system32> get-ExecutionPolicy
Restricted

再执行 set-ExecutionPolicy RemoteSigned 进行重新设置 , 在询问栏填写 Y ,确认执行变更

PS C:\WINDOWS\system32> set-ExecutionPolicy RemoteSigned

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): Y
PS C:\WINDOWS\system32>

就样就可以了!

你可能感兴趣的:(解决python venv虚拟环境 Scripts\Activate.ps1,因为在此系统上禁止运行脚本的问题)