“权限被拒绝”试图在 Windows 10 上运行 Python

新手上路,请多包涵

似乎 Windows 10 一夜之间的更新破坏了 Python。只是试图运行 python --version 返回“权限被拒绝”错误。这三个更新都没有; KB4507453、KB4506991 或 KB4509096 看起来像是罪魁祸首,但问题的发生时间值得怀疑。我希望有一个我缺少的更简单的修复程序,而不是搞乱回滚。

python的权限是“-rwxr-xr-x”,除了安装昨晚的补丁后让Windows更新重启机器外,我没有做任何改变。

根据系统信息,我正在运行 10.0.18362

还应该注意,无论我(尝试)是否使用“以管理员身份运行”从 git-bash 执行 Python 都会发生这种情况,如果我尝试使用 PowerShell,它只会打开 Windows 商店,就像未安装应用程序一样我认为由于某种原因它看不到我的 /c/Users/david/AppData/Local/Microsoft/WindowsApps/ 文件夹的内容。

我也尝试重新安装 Python 3.7.4,但这也无济于事。还有什么我应该看的吗?

原文由 notanumber 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

据我所知,这是由于与最近添加到 Windows 应用商店中的 Python 3.7 版本冲突造成的。看起来这在 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 文件夹中添加了两个名为 python.exe 和 python3.exe 的“存根”,在我的情况下,这是在 PATH 中我现有的 Python 可执行文件条目 之前 插入的 ---

将此条目移动到正确的 Python 文件夹下方(部分)更正了该问题。

更正它的第二部分是在 Windows 搜索提示中键入 manage app execution aliases 并完全禁用 Python 的商店版本。

管理应用程序执行别名

您可能只需要执行第二部分,但在我的系统上,我进行了两项更改,现在一切都恢复正常了。

原文由 notanumber 发布,翻译遵循 CC BY-SA 4.0 许可协议

研究

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps 中的所有文件都是占位符,指向实际位于 C:\Program Files\WindowsApps 中某处的文件,恰好被完全拒绝了权限。

看来我在这个问题的副本中所做的陈述是正确的:

“看来他们并没有真正考虑过分配权限的分配方式!”

资料来源: 无法在 Windows 上的 Git Bash 中安装 pylint(Windows 应用商店)

由于 WindowsApps 分发方法,权限被皇家搞砸了:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 有趣的是,它说“用户”组可以读取和执行文件,以及我的特定用户,但管理员组只能出于一些滑稽的深不可测的原因列出文件夹内容。当尝试访问文件资源管理器中的文件夹时,它甚至拒绝显示文件夹内容,因此这也有些可疑。

有趣的是,即使在 CMD 中执行 python 工作正常,但在列出其所在目录中的文件时,“WindowsApps”文件夹不会显示,并且尝试导航到该文件夹会生成“权限被拒绝” “ 错误:

在此处输入图像描述

尝试更改权限需要先更改所有者,因此我将所有者更改为 Administrators 组。在那之后,我试图更改 Administrators 组的权限以包括完全控制,但无法更改此权限,因为“访问被拒绝”(duh,Micro$ucks,这就是我们要更改的内容!)。

在此处输入图像描述

这个权限错误发生在很多文件上,我使用 Alt+C 在重复消息上快速单击“继续”,但这仍然花费了太长时间,所以我取消了这个过程,导致弹出这个警告消息:

在此处输入图像描述

现在我无法将 TrustedInstaller 用户设置回 WindowsApps 文件夹的所有者,因为它没有显示在用户/组/内置安全原则/其他对象的列表中。 *

在此处输入图像描述

*实际上,根据 本教程,您可以通过在对象名称文本框中键入 NT Service\TrustedInstaller 将所有者换回 TrustedInstaller。

解决方案

没有解决办法。基本上,我们完全搞砸了。优雅的举动,微软。

原文由 Ryan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题