我刚刚在 Windows Server 2012 上全新安装了 Python 2.7.14。每当我尝试执行任何脚本时,都会收到“访问被拒绝”错误。无论我尝试运行什么脚本,即使是一些简单的脚本也会python -c "print 1"
失败,并在 Powershell 中显示以下错误消息:
Program 'python.exe' failed to run: Access is deniedAt line:1 char:1
+ python -c "print 1"
+ ~~~~~~~~~~~~~~~~~~~.
At line:1 char:1
+ python -c "print 1"
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed
而在 CMD 中执行相同的命令则只会产生Access Denied
。
即使以管理员身份运行并提升 UAC 状态也会发生这种情况,所以我很困惑。有人知道发生了什么吗?
编辑:忘了提及,由于某种原因,交互模式运行良好。
答案1
物有所值...
我敢打赌,这种情况很可能是服务器防病毒软件。我见过一个非常非常Comodo AV for Sever 的情况类似,它使用其遏制设置阻止脚本执行。(这很有趣,因为它没有对 php 执行此操作,只对 python 执行此操作)。我们通过创建新的遏制规则并告诉它忽略特定目录中的所有(文件组)*.py 文件来解决这个问题。
这立即见效。希望这能有所帮助!