我已经解决了这个问题,并张贴,以保存其他人从我的痛苦小时。
问题
在Windows 10上
Python安装在C:\Python
中并添加到环境变量中,但无法正常运行程序。
在CMD中键入python myscript.py
不会运行程序,但不会产生任何错误。
输入C:\Python\python.exe myscript.py
可以正确运行代码。
解决方案
导航到CMD中的C:\Users\Username\AppData\Local\Microsoft\WindowsApps\python.exe
并键入del /f python.exe
。
What was wrong
位于C:\Users\MyUsername\AppData\Local\Microsoft\WindowsApps\python.exe
的文件在PATH
中的环境变量之前查看。此文件仅打开Edge中Python的下载页面。
您需要删除或重命名此文件,但此文件夹中的项目受Microsoft保护。你得到Error 0x80070780
如果你试图删除这个文件与文件资源管理器。为了删除它,您需要导航到CMD中具有管理员权限的文件夹,然后键入上述内容以删除此文件。
我希望这对某人有帮助。
编辑
虽然我最初发布的解决方案似乎对人们有效。我推荐Max发布的解决方案:
https://stackoverflow.com/a/65520328/9407750
4条答案
按热度按时间z5btuh9x1#
刚刚注意到在运行
where python
时,windowsApp文件夹中还有一个额外的python可执行文件。要删除这些,你可以在windows中的
App execution aliases
设置中进行,并取消选中python别名。cnh2zyt32#
以下是Windows 10中以“开始/设置”开头的屏幕截图,版本2004,操作系统版本19041.685,Windows体验包120.2212.551.0
u0njafvf3#
将此Q/A转换为正确的格式,使问题看起来不开放/未回答
解决方案
在
C:\Users\*Username*\AppData\Local\Microsoft\WindowsApps
中删除python.exe
。但是,由于这些文件受到保护,因此在尝试删除文件时可能会收到错误消息。在这种情况下,您必须使用管理员帐户删除python.exe
,或者使用管理员权限调用cmd-window并强制删除rm -f C:\UsersUsername\AppData\Local\Microsoft\WindowsApps\python. exe ''''关于解决方案
python.exe
并不是人们所认为的python可执行文件,而是调用在Edge浏览器或Microsoft App Store中打开的python下载页面。“谁会想出这样一个虐待狂的事情”和“为什么”的问题?.”在这一点上将保持未回答。事实上,调用python会在调用PATH环境变量之前执行这个faux-python.exe
。elcex8rz4#
对我有效的是:
在
C:\Users\*Username*\AppData\Local\Microsoft\WindowsApps
del /f python.exe
和del /f python3.exe
中然后关闭Python和Python 3的执行别名。
然后转到python 3.10.0 installer下载操作系统所需的安装程序。打开它并选择修复选项,当它完成后再次打开安装程序并选择删除选项。
如果您使用的是chocolatey,您也应该在cmd/powershell中运行此命令,并具有管理员权限
choco uninstall python --version=3.10.0