[解决]Win10 VS Code pipenv无法加载文件Scripts\Activate.ps1,因为在此系统上禁止运行脚本-更改执行策略

问题描述

我在某个项目里使用了pipenv虚拟环境,当我在VS Code中右键该项目的文件-在集成终端中打开,就会爆出下面的错误 - & : 无法加载文件 C:\Users\Kearney\.virtualenvs\fb-xzc3iOtr\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micros oft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
在这里插入图片描述

解决办法

PowerShell:因为在此系统上禁止运行脚本,解决方法 - sinler中可以知道问题的根源在于win10默认的执行策略是不载入任何配置文件,不运行任何脚本。这一点可以通过命令行查看

查看当前执行策略

在控制台敲入命令get-executionpolicy回车即可,默认是Restricted


> get-executionpolicy
Restricted

可以加上参数-Scope CurrentUser表示当前用户,默认是本机

参数详解

Windows10 virtualenv无法加载文件ctivate.ps1,因为在此系统上禁止运行脚本 - 万墨

– Restricted: 不载入任何配置文件,不运行任何脚本。 “Restricted” 是默认的。
– AllSigned: 只有被Trusted publisher签名的脚本或者配置文件才能使用,包括你自己再本地写的脚本。
– RemoteSigned: 对于从Internet上下载的脚本或者配置文件,只有被Trusted,publisher签名的才能使用。
– Unrestricted: 可以载入所有配置文件,可以运行所有脚本文件. 如果你运行一个从internet下载并且没有签名的脚本,在运行之前,你会被提示需要一定的权限。
– Bypass: 所有东西都可以使用,并且没有提示和警告。
– Undefined: 删除当前scope被赋予的ExecutionPolicy,但是Group Policy scope的Execution Policy不会被删除。

修改执行策略

.涉及到注册表问题,这里必须“以管理员身份运行”选项启动 Windows PowerShell

格式:

  • Set-ExecutionPolicy 参数:设置全局执行策略为参数
  • Set-ExecutionPolicy 参数 -Scope CurrentUser:设置当前用户执行策略为参数
    例子
> Set-ExecutionPolicy  AllSigned
> Set-ExecutionPolicy -Scope CurrentUser Unrestricted

解决办法

实践表明,仅设置当前用户的执行策略不需要管理员身份的powershell,在vs code的集成终端就能解决

> Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

实践表明:AllSigned参数不能解决问题,RemoteSigned才解决了这个问题,带来的好处就是省掉了每次进入环境都需要敲一次pipenv shell.

参考

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值