PowerShell中无法加载ps1脚本文件,因为在此系统上禁止运行脚本
一、问题发生
运行环境Windows 10、python 3.11.1、IDE VScode
当然你可能使用了其他IDE,例如pycharm等,不过没有关系解决问题的方法都是一致的。
报错信息如下图所示:
actvivate.ps1这个脚本文件是用来激活python虚拟环境的。
其实,在该报错信息中已经给出了解决问题的答案。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 中的about_Execution_Policies
本质上,这个报错就是一个Windows系统的执行策略的问题,和Python语言本身无关。如果你想了解更详细的情况,可以直接点击上面的链接,看完后,问题也就迎刃而解了。考虑到有人想要快点解决问题,也可以继续看下文,我提供的解决方案。
二、问题解决
(1) 以管理员的身份运行PowerShell(可以通过在桌面,按住shift+鼠标右键)
(2) 运行命令:Get-ExecutionPolicy -List
查看当前用户的执行策略
可以看到CurrentUser(当前用户)的执行策略为Restricted(受限制的)
我们在官网查看下该策略的具体内容,可以看到不允许脚本运行,所以才有了“无法加载文件activate.ps1,因为此系统上禁止运行脚本。”
我们的策略还有如下设置:
组策略 | 执行策略 |
---|---|
允许所有脚本 | Unrestricted |
允许本地脚本和远程签名脚本 | RemoteSigned |
仅允许签名脚本 | AllSigned |
(3) 运行命令:Set-ExecutionPolicy -ExecutionPolicy AllSigned CurrentUser
,更改执行策略。运行命令后会有提示信息,然后输入Y确认更改执行策略即可。
我们查看下策略AllSigned策略的内容
(4) 可以去运行你的python程序了,我是在VScode中运行的,运行后出现了下面这条提示信息,输入“A”,始终运行。然后程序运行就不会在出现这个问题了。
(5)运行命令:Set-ExecutionPolicy -ExecutionPolicy Restricted CurrentUser
为了安全起见,把当前用户的执行策略重新设置会Restricted,防止以后恶意脚本的运行。
这一步不是必做的,只是个人建议。**当创建新的python虚拟环境时,依然会现该问题,需要按照上述方法重新设置执行策略。**根据自己的情况选择吧。
【出处】:https://blog.csdn.net/gao_zhennan/article/details/131719371
=======================================================================================
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/17951771
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!