场景:
在django学习中因为使用的是window环境,涉及到命令行权限报错问题
问题描述
错误如下
PS D:\django> .\.venv\Scripts\activate
.\.venv\Scripts\activate : 无法加载文件 D:\django\.venv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\.venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS D:\django>
解决方案:
1.Windows PowerShell,选以管理员身份运行
查看当前的执行策略:Get-ExecutionPolicy(通常是 Restricted 或 AllSigned)
2.临时更改执行策略:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
将执行策略临时更改为 RemoteSigned,以允许本地脚本运行
这个设置只对当前 PowerShell 会话有效,关闭窗口后会恢复为之前的设置
永久更改执行策略(如果需要):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
或者使用 -Scope LocalMachine 来应用于所有用户,但需要管理员权限。
恢复默认执行策略(如果需要):
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser
PS D:\django> .\.venv\Scripts\activate
.\.venv\Scripts\activate : 无法加载文件 D:\django\.venv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\.venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS D:\django> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
PS D:\django> .\.venv\Scripts\activate
(.venv) PS D:\django>
这样就能正常执行命令了