官方提供的方法
微软社区里针对这个问题提供win11下的解决方案,在此复述一下:
- 打开搜索,或者“设置”->“搜索”,检索“管理应用程序执行别名”;
- 会看到python.exe和python3.exe同时存在;
- 关闭python3.exe的保留python.exe的开关即可。
本人试过了,都关掉cmd会和我说找不到python环境变量,只关掉其中一个要么是说找不到环境变量,要么还是给我跳转去商店。
原因
根据大佬们提供的解释,我简单总结成这样:
- 在cmd中使用python是因为环境变量path中指定的各个检索目录中,有一个目录里包含了python.exe这个程序,故可以在任意目录下,在cmd中打出python都可直接执行python.exe;
- 微软在我们安装python之前,已经写了一个path目录,这里面也有个和python.exe差不多的东西,但是是指向商店的python安装包,path因为这个指向商店的先于我们安装是写入环境变量,会优先检索这个指向商店的python.exe所在的目录,检索到就执行;
解决思路
- 由于各自的安装选择有可能是全安装,也可能是单用户安装,python的实际安装目录不一样,在环境变量中显示的路径也不一样;
- 找到不该执行的python所在的目录,然后去环境变量path里把这个删了,或者把顺序调整到python安装路径的path后面即可
解决方法
- 从C盘里搜索python,一般来说用安装包安装的python所在的目录下面是python的一整套东西,会直接在python311目录下。*(注:311是安装的python版本,安装的是python3.9就是python39。)*而微软的那个指向商店的会扔在WindowsApp目录下
- 记住那个不是正常安装目录下的python的目录
- 把这俩删了,都找不到就会去你的安装目录找python了;
- 或者去环境变量
把用户变量和系统变量里的跟WindowsApp目录有关的都移到最后,把检索优先级降到最低。
(没有截图是因为我已经顺手删了,虽然这不是一个好习惯,不出bug的情况下能保留就备份以防把电脑玩坏)
5. 然后cmd就正常工作了。
其他解决方法
网上都有,这个是自己因为搜不到但猜到了方法才写的笔记。
善用百度、Bing、科学Google,还你一片思考的蓝天。
(可恶没事我就撞bug实在不行换成英语去国外论坛扒拉也是可以的大半夜的顺手装个机器居然还写了个简短的笔记可恶大半夜了我搞什么能搜到的不整理了反正简单的一搜一大把的人复制粘贴引流)