但是在Windows系统中,则是通过.\venv\Scripts\activate
命令进入虚拟环境,因为运行了activate.bat后会在同级目录下生成activate.ps1,PowerShell 默认不允许执行*.ps1脚本文件。运行ps1文件会得到下面的错误:
PS D:\venv> .\django\Scripts\activate
.\django\Scripts\activate : 无法加载文件 D:\venv\django\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关
详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\django\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
所以要解决这个问题,需要在powershell里面修改policy:
使用管理员打开powershell
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
PS C:\Windows\system32> Set-ExecutionPolicy RemoteSigned
执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执