0. 前言
在win11上安装python,明明路径都配置好了,却不能用,本文记录下表现、原因及解决方案。
1. 表现
在win11下,需要安装python,到python的官网https://www.python.org/downloads/下载Windows安装包,按照提示一步一步安装好,在安装最后一步,选中把python目录加入到path变量,一切都很正常。下一步,打开cmd,输入python,却弹出了微软商店,而不是进入python。真是离了个大谱。
2. 原因
各种path路径检查了半天,最后终于找到原因,原来在win11下,python.exe和python3.exe被微软商店劫持了,导致输入python命令时,优先打开微软商店,而不是打开python。这不是电脑的问题,也不是 Python 没装好,而是微软为了推广自家的应用商店,偷偷把 python这个命令给“劫持”了。系统在检测到你没有安装微软商店版的 Python 时,就会自动弹窗让你去下载。
3. 解决方案
要解决这个问题,可以通过以下方法“夺回”对 python命令的控制权,推荐程度从高到低排列:
方法一:关闭微软的“应用执行别名”(最快、最省事)
这是 Win11 新增的一个机制,它会让系统命令优先指向应用商店。我们只要把它关掉就行了:
按下Win + I打开系统 设置。
点击左侧的 应用,然后选择右侧的 高级应用设置 - 应用执行别名(有的系统叫“管理应用执行别名”)。
在列表中找到 App Installer 相关的两项:
App Installer - python.exe
App Installer - python3.exe
把这两个选项的开关关掉。
关掉后,直接去 CMD 里再试一下 python,如果已经装了官方的 Python,就能正常进入了;如果没装,会提示“不是内部或外部命令”。
方法二:手动调整环境变量顺序
如果你已经装了 Python,可以通过调整环境变量的优先级来强制系统忽略微软商店的指令:
按下 Win + S,搜索 环境变量,点击“编辑系统环境变量”。
点击右下角的 环境变量 按钮。
在下方的“系统变量”或上方的“用户变量”中找到 Path 变量,双击打开。
在列表中找到 Python 的安装路径(比如 C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\ 及其下的Scripts文件夹)。
选中这两个 Python 路径,点击右侧的 上移,把它们顶到列表的最上方。
确保它们排在了 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps这条系统路径的上面。
一路点击“确定”保存退出,然后重启 CMD 即可生效。
💡 终极检验:
无论用了哪种方法,最后在cmd黑框框里敲入这行代码,只要能显示出具体的版本号(比如 Python 3.11.4),就说明你已经彻底摆脱微软商店的骚扰了:
python --version
4. 总结
这个问题的本质是 Windows 的"应用执行别名"机制优先级高于 PATH 环境变量。微软通过该机制将 python.exe 和 python3.exe 重定向到 Microsoft Store,所以即使你已经安装了官方 Python,CMD 仍会优先匹配这个别名。
搞清楚原理后解决起来就很简单:要么关掉别名,要么调整 PATH 优先级,二选一即可。