‘py’ is not recognized as an internal or external command, operable program or batch file.

可能不少人会遇到整个问题?我重装电脑之后重下python时出事了,不知道为啥以前写的py用不了,python倒是可以,py不行,网上搜了doskey py = python,但是是临时的(不指标不治本),最后找出以下方法,遇到这种问题的兄弟可以试试看:

首先得确认你下载的正常的python,这个很重要!!!

(python不行的兄弟,可以试试看把下面输入py的改成python,应该也行)

按下win+R,输入py。

进去看看左上,应该会有个C:\Windows\py.exe的东西,把地址记住。

再次按下win+R,输入sysdm.cpl,回车。

上面那里进入高级>环境变量。

进去之后,找到用户变量里的Path。

当然, 系统变量也行,但是看个人,出的效果是一样的。

接下来会出现两种情况,以下分开说明:

1.进去是这样的可以直接按新建

输入刚才的地址,不过去除exe的东西,例如我的是C:\Windows\py.exe,输入的是C:\Windows\,然后确认>确认>确认。

然后回到cmd,输入py。

问题解决了

2. 出的是一串文本(这代表你的Path不够长,细狗)

注意!小小不要误删,误删按取消,不然你就完了。

往后面加上

“地址去exe文件;”;

例如:”C:\Windows\;”;

可以不加””引号,然后确认>确认>确认。

然后回到cmd,输入py。

一样的结果。

下面是解释为啥出现问题(毕竟得从问题学习):

为啥不能用doskey py = python?

借用网上一段话(来自Stackoverflow):

This is the wrong way to solve the problem. There is no particularly good reason to aliaspytopythonarbitrarily; people who writepy(or suggest to do it) are doing so in order to use the Python Launcher for Windows,notto start a Python executable directly. Ifpyisn’t found, it can only realistically be because itwasn’t installed– because it is designed to install directly into the Windows folder.

翻译:

这是解决问题的错误方法。 没有特别充分的理由任意将 py别名为 python; 编写 py(或建议这样做)的人这样做是为了使用 Windows 的 Python launcher,而不是直接启动 Python.exe。 如果找不到 py,实际上只能是因为它没有安装 – 因为它被设计为直接安装到 Windows 文件夹中。

这方法说实话不治标不治本,不过有句是错的,可能安装了,但是没有写进path罢了。

那py和python的区别究竟是啥?

再借用知乎上的一段话(来自HoneyMoose的“Windows 10 中的 Py 和 python 命令行”)

py
py 运行的是 Python Launcher,这个和 Python 是 2 个不同的东西。
可以理解的是 py 是 Python 解释器的运行管理工具或者运行工具。
py -version 启动 python 的方式其实应该是官方更为推崇的一种方式,无需手动设置环境变量,并且能指定启动 python 的版本,功能不要太强大!绝对是在多版本 Python 共存的环境下,启动不同版本 Python 的利器!
当是需要注意的是,Python Launcher 是 Python3.3 以上版本中新增的组件,并且可以独立地安装和卸载,使用时一定要注意 Python Launcher 被正确地安装在系统中了,否则就会报 ‘py’ 不是内部或外部命令,也不是可运行的程序或批处理文件 的错误。
这是因为在我们安装的时候没有配置 py。

这基本上解释了出现问题的原因,没有配置Path,所以说直接运行py(假如有下载py.exe,有这个python launcher,正常python官网下载是自带的,但是却用不了的话),却无法使用的话,就是python的下载包没有设置这个(可能是遗漏了之类的)。设置完之后应该能解决。

希望能帮上所有遇到同样困难的兄弟,毕竟重装之后是真的痛苦。