一、问题发生
运行环境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,因为此系统上禁止运行脚本。”
(3) 运行命令:Set-ExecutionPolicy -ExecutionPolicy AllSigned CurrentUser
,更改执行策略。运行命令后会有提示信息,然后输入Y确认更改执行策略即可。
我们查看下策略AllSigned策略的内容
(4) 可以去运行你的python程序了,我是在VScode中运行的,运行后出现了下面这条提示信息,输入“A”,始终运行。然后程序运行就不会在出现这个问题了。
(5)运行命令:Set-ExecutionPolicy -ExecutionPolicy Restricted CurrentUser
为了安全起见,把当前用户的执行策略重新设置会Restricted,防止以后恶意脚本的运行。
这一步不是必做的,只是个人建议。**当创建新的python虚拟环境时,依然会现该问题,需要按照上述方法重新设置执行策略。**根据自己的情况选择吧。