为什么python的winget包不包含python3.exe?

为什么python的winget包不包含python3.exe?

社区接受的解决方案对于 Python 来说,包含 shebang 行似乎是使用#!/usr/bin/env python3。但是,当我使用 winget 包 (即winget install --id Python.Python.3.11) 安装 Python 3 时,然后尝试使用 shebang (即 ) 运行脚本时py some_script_with_shebang.py,出现错误:

Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings

> Manage App Execution Aliases.

通过调查,我发现我可以安装msstore包来解决这个问题(winget install --id 9NRWMJP3717K,并where python3返回%LOCALAPPDATA%\Microsoft\WindowsApps\python3.exe)。但是,我不知道为什么我需要安装版本msstore(带有不透明ID),而不是winget包(带有透明ID)。

答案1

可能是你在 之后没有重新打开命令提示符winget install --id Python.Python.3.11?在这种情况下,新的命令提示符python还没有出现在你的PATH命令提示符中。通常,winget 会将 Python 放在 PATH 上,但它只在新的命令提示符窗口中生效。例如,在https://winget.pro/winget-install-python/

相关内容