[Python] Windows中CMD输入python总是打开商店?教你彻底解决这个“陷阱”

[Python] Windows中CMD输入python总是打开商店?教你彻底解决这个“陷阱”

在 Windows 10 和 Windows 11 系统中,很多新手 Python 学习者可能都遇到过这样一个奇怪的问题:在命令提示符(CMD)中输入 python 命令时,不是打开 Python 解释器,而是直接跳转到微软商店。这是怎么回事?难道我操作错了?

别慌,这其实是 Windows 系统自身的“坑”,而不是你的错。本文将带你一步一步关闭这个陷阱式“别名”机制,并且教你正确安装可用的 Python 环境,让你轻松开启 Python 编程之旅!


一、为什么输入 python 会打开 Microsoft Store?

这其实是 Windows 系统自带的一种“别名映射”机制。当你在命令行中输入 pythonpython3 命令时,如果系统没有在 PATH 环境变量中找到真正的 Python 可执行文件,就会默认跳转到商店引导你安装,这一行为来源于所谓的“App Execution Aliases”(应用执行别名)。

这种机制初衷是好的——帮用户快速从商店获取 Python。但现实是,商店版本并不适合开发者使用,路径混乱、不易管理、功能有限,甚至可能出现多个版本混用、环境变量错乱等问题。

因此,我们的第一步是:关闭这个自动跳商店的设置


二、关闭“跳转商店”的 App 别名设置

操作步骤如下:

  1. 在列表中找到以下两个条目:
    • App Installer - python.exe
    • App Installer - python3.exe
  2. 将它们的开关都关闭(关掉切换按钮)

打开 设置 → 应用 → 高级应用设置 → 应用执行别名或在某些版本中路径为:

设置 → 应用 → 应用和功能 → 右上角“更多设置” → 应用执行别名

完成以上设置后:

  • 再次在 cmd 中输入 python 时,就不会再跳商店了。
  • 若尚未安装 Python,则会提示 'python' 不是内部或外部命令
  • 若已经安装了真实的 Python,则将正常运行。

三、推荐安装方式:真正的 Python 该怎么装?

方法 A:从官方 python.org 安装(推荐开发者使用)

  1. 访问官网:https://www.python.org/downloads/windows/
  2. 下载适合你系统的安装包(通常选择 “Windows installer (64-bit)” 的版本,例如 Python 3.12)。
  3. 然后点击 “Install Now” 完成安装。

安装时务必勾选底部选项:

✅ Add python.exe to PATH 

安装完成后,在 cmd 终端中输入:

python --version 

若成功输出版本号:

Python 3.12.1 

说明安装成功!


方法 B:使用 winget 命令安装(适用于 Win11 或新版 Win10)

如果你是 Win11 用户,或开启了 Windows 包管理器(Winget),可以使用以下方法快速安装:

  1. 打开“管理员权限”的 PowerShell(或 Windows Terminal)。

安装完成后重启终端,输入:

python --version 

执行以下命令:

winget install Python.Python.3.12 

若能正确显示版本号,则说明安装成功。


四、检查系统中真正的 Python 路径

装完 Python 后,为了确保你调用的是“正确版本”,可以使用以下命令:

where python 

正常情况下你会看到类似:

C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\python.exe 

如果输出结果中含有 AppInstallerWindowsApps 等字样,那说明系统中仍可能存在别名干扰,此时建议:

  • 手动清理冗余路径;
  • 或者检查环境变量中是否有旧的 Python 安装路径未移除。

五、临时方案:尝试使用 py 命令

如果你之前已经正确安装过 Python,但 python 命令不起作用,还可以尝试:

py --version 

py 是 Windows 自带的 Python 启动器,有时候比 python 命令更可靠。你也可以通过它直接运行代码,比如:

py hello.py 

不过从长远看,还是建议把前面的“别名问题”彻底解决,让 python 命令正常工作。


六、结语:避免入坑,从基础配置做起

Windows 系统自动“跳转商店”的机制确实让很多 Python 新手误入歧途。我们总结一下最重要的几点:

  • ✅ 关闭 App Installer 的 python.exe 别名,避免被重定向到商店。
  • ✅ 推荐使用 python.org 官方安装包,勾选“添加到 PATH”。
  • ✅ 安装后用 where python 检查系统路径是否正确。
  • py 命令可用于临时替代。

只要配置正确,使用 CMD 或 PowerShell 输入 python 就能顺利运行解释器,开启高效的 Python 开发之路!


如果你正在学习 Python,推荐阅读《Think Python》(《Python沉思录》)这本经典入门书籍,它不只是教语法,更注重“像计算机科学家一样思考”。想学习得深入、系统、扎实,可以搭配这本书边学边练。


有任何配置上的困扰、多个 Python 共存的混乱情况,也欢迎留言交流!我们将一起解决你的 Python 环境问题 💪

Read more

Flutter for OpenHarmony: Flutter 三方库 mongo_dart 助力鸿蒙应用直连 NoSQL 数据库构建高效的数据流转系统(纯 Dart 驱动方案)

Flutter for OpenHarmony: Flutter 三方库 mongo_dart 助力鸿蒙应用直连 NoSQL 数据库构建高效的数据流转系统(纯 Dart 驱动方案)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的工业巡检、内部管理系统或边缘计算(Edge Computing)应用开发时,有时我们需要鸿蒙前端应用直接与后端的 MongoDB 数据库进行交互,而不仅仅是通过传统的 Web API 转发。 mongo_dart 是一个极其强大的、全功能、纯 Dart 实现的 MongoDB 驱动程序。它不依赖任何原生底层驱动(如 C 驱动),通过 Dart 的 Socket 机制直接实现 BSON 协议封装。这意味着你在鸿蒙设备上无需配置复杂的 NDK 动态库,即可拥有连接、查询、甚至是实时聚合分析 MongoDB 数据的能力。 一、网络直连架构模型

By Ne0inhk
Flutter for OpenHarmony:dart_ping 网络诊断的瑞士军刀(支持 ICMP Ping) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:dart_ping 网络诊断的瑞士军刀(支持 ICMP Ping) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在应用开发中,网络连通性检测是一个强需求。 * 用户的网络是 WiFi 还是 4G? * 虽然连着 WiFi,但是否真的能通公网(Ping www.baidu.com)? * 连接内网服务器的延迟是多少? 虽然 connectivity_plus 可以告诉我们网络类型(WiFi/Mobile),但它无法检测实际的连通性(比如 WiFi 连上了但没网)。这时,最直接的手段就是 Ping。 dart_ping 是一个跨平台的 Dart Ping 库。它并不重新实现 ICMP 协议(那需要 root 权限),而是巧妙地封装了各操作系统的原生 ping 命令,并解析其输出流。 对于

By Ne0inhk
Flutter 三方库 super_log 的鸿蒙化适配指南 - 实现极具视觉冲击力的彩色终端日志、支持动态过滤与全局异常捕获

Flutter 三方库 super_log 的鸿蒙化适配指南 - 实现极具视觉冲击力的彩色终端日志、支持动态过滤与全局异常捕获

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 super_log 的鸿蒙化适配指南 - 实现极具视觉冲击力的彩色终端日志、支持动态过滤与全局异常捕获 前言 在进行 Flutter for OpenHarmony 的日常开发调试时,面对控制台里密密麻麻、死板单调的白色日志,开发者很容易在大海捞针般的排错过程中产生疲劳。super_log 是一个专注于日志可视化体验的增强库。它通过丰富的配色方案和清晰的结构化打印,让鸿蒙控制台里的每条日志都具备“辨识度”。本文将介绍如何在鸿蒙端利用 super_log 让你的代码“自白”得更加生动。 一、原理解析 / 概念介绍 1.1 基础原理 super_log 基于终端的 ANSI 颜色转义序列。它通过解析日志级别,并在输出字符串中自动嵌入特定的颜色代码。同时,它还内置了美观的边框修饰符(Box

By Ne0inhk
Flutter for OpenHarmony:injector 轻量级依赖注入库(比 GetIt 更简单的选择) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:injector 轻量级依赖注入库(比 GetIt 更简单的选择) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 依赖注入(Dependency Injection, DI)是解耦架构的核心。 在 Flutter 社区,get_it 是当之无愧的霸主,但有时候我们想要一个更简单、没有 Service Locator 模式那种“全局单例”味道的库,或者需要一个支持模块化注入的方案。 injector 是一个非常轻量的 DI 库。它不使用代码生成,提供基于构建器(Builder)的依赖注册机制。 对于 OpenHarmony 开发者,使用 DI 库可以将鸿蒙特定的实现(如 OhosPermissionService)与通用业务逻辑解耦,实现一套代码,多端运行。 一、核心原理 injector 的工作原理非常纯粹:它维护了一个 Map,

By Ne0inhk