‘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 aliaspy
topython
arbitrarily; 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. Ifpy
isn’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的下载包没有设置这个(可能是遗漏了之类的)。设置完之后应该能解决。
希望能帮上所有遇到同样困难的兄弟,毕竟重装之后是真的痛苦。