花拾录
← 返回知识库

Windows 上 python3 指向应用商店占位程序——用真实解释器的绝对路径

编程语言导入2026/09/220 阅读0 评论

在 Windows 上跑 Python 脚本,命令敲下去,脚本没跑起来。你以为装好了 Python,实际上系统里叫 python3 的那个东西,根本不是真的解释器。

现象

在命令行里执行:

> python3 script.py

有时会弹出应用商店窗口,有时直接失败或者行为诡异。进一步追查会看到 python3 指向的是一个奇怪的路径:

> where python3
C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps\python3.exe

注意这个 WindowsApps 目录——它不是你安装 Python 的地方,而是 Windows 应用商店的转发器(stub)。同时,系统里其实另有一个真正的解释器(比如来自某个 Python 发行版或 Conda),pip3 也来自那里,路径完全不同。

根因

这是 Windows 应用商店的占位 stub 在捣鬼。

Windows 10/11 里,系统会在用户的 WindowsApps 目录下预置几个"假"的可执行文件(python.exe、python3.exe 等)。它们并不是真的 Python,而是一个转发器:当你在没装 Python 的情况下敲 python3,它会把你引导到应用商店去安装 Python。

问题在于优先级:WindowsApps 目录默认在 PATH 环境变量里,而且往往排在前面。于是当你敲 python3 时,系统先命中了这个 stub,而不是你真正安装的解释器。你的脚本就这样被交给了"假的 python3"。

再叠加上一点点命名错位就更绕了:系统里真正装的解释器(比如 Miniconda / Anaconda 带来的)通常只登记了 python,不一定有 python3 这个别名,而 pip3 又来自它。于是出现"python 是真的、python3 是假的、pip3 是真的"这种让人头晕的组合。

解决

第一步,搞清楚命令名到底指向谁。 在 Windows 上用 where 把所有同名可执行文件列出来:

> where python
C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps\python.exe
C:\<发行版安装目录>\python.exe

> where python3
C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps\python3.exe

第一行落在 WindowsApps 里的那个,就是 stub。

第二步,不要用裸 python3,直接用真实解释器的绝对路径执行脚本和安装依赖:

> C:\<发行版安装目录>\python.exe script.py

> C:\<发行版安装目录>\python.exe -m pip install -r requirements.txt

用 -m pip 而不是单独的 pip,也能确保装进的是同一个解释器——避免"装到了 A 解释器、却用 B 解释器跑"的错位。

第三步(可选),把真解释器路径放到 PATH 前面。 如果你想继续用 python 这个名字,可以在系统环境变量里,把真实解释器所在目录移到 WindowsApps 之前;或者在"设置 → 应用 → 高级应用设置 → 应用执行别名"里,关掉 python.exe / python3.exe 这两个别名开关。关掉之后,系统就不会再把 python3 指向商店 stub 了。

延伸与预防

这条坑的普适教训是:搞清楚"这个命令名到底指向谁",比记住命令名更重要。 一个命令在 PATH 里可能对应多个可执行文件,谁在前面谁生效;而"看起来一样"的命令,背后可能是完全不同的程序。

具体到日常实践:

  • 新机器上先做一次体检:where python / where python3 / where pip,把每个名字解析到哪个路径看一遍,心里有底。
  • 脚本和部署文档里一律写绝对路径,尤其是有多个 Python 环境时。绝对路径是唯一不会因为 PATH 顺序而漂移的写法。
  • 善用 -m:python -m pip、python -m venv 这类写法,保证了"模块和解释器配套",能避免大量"装在哪、跑在哪"的错位问题。
  • 警惕"系统替身"。 不止 Python,有些命令在 Windows 上被系统预置了转发器。遇到"命令行为不符合预期"时,先 where 一下看看是不是被替身抢了先。

一句话落地:别跟 python3 这个别名纠缠,认准那台机器上真正的解释器,用它的绝对路径。

评论(0)

  • 还没有评论,来抢沙发~

相关文章