【问题标题】:How to fix error "'py.exe' is not recognized as an internal or external command, operable program or batch file"? [duplicate]如何修复错误“'py.exe' 不是内部或外部命令、可运行程序或批处理文件”? [复制]
【发布时间】:2019-08-06 21:34:57
【问题描述】:

我对编程很陌生,我正在尝试自学的路线,如果我问错了问题,错误地使用了这个网站,或者违反了格式规则,请原谅我。我正在使用 Udemy 上的课程来学习一些适用于 Windows 10 的 Python 基础知识。我已经达到了教程中的部分,我正在学习如何从命令提示符执行 Python 命令,并且我遇到了一些关于“py.exe”的问题。特别是它似乎在我的电脑上不存在。

每次我尝试有关“py.exe”的任何内容时,我都会从标题中得到相同的错误。我通过许多搜索了解到,这应该是你的 Python 下载中包含的一个文件,它真正所做的只是在 .py 文件中搜索一个 shebang,以便它可以调用正确版本的 Python 来运行任何东西您在代码中拥有的功能。好吧,这一切都说得通。但是系统在任何地方都没有。我已经对整个计算机进行了文件搜索,但一无所获。我在网上看到 Python 3.7 将 py.exe、pyw.exe 和 pyshellext.amd64.dll 文件保存在 C:\Windows 而不是 Python 下载文件夹中,我在那里找到了 pyshellext.amd64.dll(虽然我没有不知道它是做什么的),但其他 2 个却无处可寻。 我的搜索让我相信我一定是在安装时搞砸了,所以我没有以管理员身份卸载和重新安装 Python 至少 4 次,并确保 Python 已添加到 PATH。我所做的似乎没有任何区别,如果我的下载从来没有 py.exe 或 pyw.exe 开始,这将是有意义的。但是,当我调用命令来测试 .py 文件类型的关联时,命令提示符似乎建议 py.exe 应该位于 C:\WINDOWS 中。但是当我看时我找不到它。

C:\Users\Aaron>py.exe C:\users\aaron\mypythonscripts\Hellotest.py
'py.exe' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Aaron>assoc .py
.py=Python.File

C:\Users\Aaron>ftype Python.File
Python.File="C:\WINDOWS\py.exe" "%L" %*

我是否需要下载某种独立版本的 py.exe 或 pyw.exe?这些命令是否有某种新版本,我的教程太旧了,无法解释?有其他人见过这种情况吗?

感谢您抽出宝贵时间阅读!

编辑: 我认为我的安装过程有问题。我在命令提示符下进行了文件搜索,但一无所获

C:\Users\Aaron> where py.exe
INFO: Could not find files for the given pattern(s)

我已尝试卸载并重新安装(第 8 次),我看到许多人引用的框,其中包含下载的 py 启动器。它是灰色的,但已选中,所以我认为它应该与包的其余部分一起下载,但我找不到它。

Here is a screenshot of my installer

我强调的那篇文章会引起我的问​​题吗?这似乎暗示我的系统正在删除 py 启动器?

【问题讨论】:

  • 不应该只是python C:\users\aaron\mypythonscripts\Hellotest.py吗?
  • 我认为你应该能够简单地从命令提示符运行py
  • @Buckeye14Guy 是的,可以让它工作,但我的问题不在于从该命令运行 Python。我的命令提示符启动 Python 没问题,我只是无法让它识别 py.exe 应该做什么。我的教程很清楚应该在这里使用py.exe,但也许它只是一个旧视频? @ForceBru你说得对,我应该能够,但调用Python也不起作用。我只能用“Python”来调用Python
  • 您是使用 Microsoft 商店安装的吗? docs.python.org/3/using/windows.html#known-issues
  • py 启动器是安装程序首页上列出的可选功能。如果您选择为所有用户安装它的选项,它将安装到"%SystemRoot%"(即“C:\Windows”)。否则它会被安装到"%LocalAppData%\Programs\Python\PyLauncher",并且这个目录会被添加到每个用户PATH

标签: python python-3.x windows


【解决方案1】:

您的 python 可执行文件似乎不在您操作系统的 %PATH% 变量中。
你有两种可能:
将python可执行路径添加到%PATH%
C: 显式启动python,如C:\System32\python2.7\python.exe 或类似的东西,具体取决于它在系统上的位置。
官网.exe的python安装了吗?

【讨论】:

  • 是的,我从官网上的64位可执行链接安装了python。我已经做过好几次了,哈哈。我的问题似乎不止于此,因为当我自己调用 Python 时,我没有收到错误。当我尝试使用py.exepy 调用python 时,这是明确的。见下文:C:\Users\Aaron>Python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
  • 正确的 %PATH% 应该是什么样的?它应该是用户变量还是系统变量?
【解决方案2】:

我想为将来遇到与我相同情况的任何人添加详细的答案。

请小心您的安装。我所有问题的根源都来自错误地进行初始下载。如果像我一样,你选择了一个“跳过大部分计算机科学内容”的教程,你就知道这不是捷径。这是一个声明,您将不得不向自己教授“计算机科学知识”。很明显,如果您想真正了解自己在做什么,就无法跳过“计算机科学内容”。

我的最终解决方案是从整个系统中卸载任何与 Python 远程相关的东西(而不仅仅是我正在使用的版本),然后按照正确操作者的说明重新安装正确的版本第一次。回想起来,尝试对 Python 自动执行的过程进行故障排除似乎很明显是一种浪费时间和精力的方式,但它也是学习不必要课程的好方法!

TL;DR 一开始,不要假设你做的任何事情都是正确的。包括安装(和卸载。再重新安装。再卸载。再重新安装。再卸载等)

【讨论】:

  • 致所有遇到此问题的人。不要卸载 Python。转到 C:\Windows\py.exe 并按 Ctrl-X 剪切应用程序并将其粘贴到 C:\Users\your path...\ 中的 Python 文件夹中。对 pyw.exe 执行相同的操作。现在,当您从任何根目录或目录打开终端并键入 py 或 py.exe 时,它​​将启动 Python 控制台。
【解决方案3】:

https://docs.python.org/2/faq/windows.html

如果 python 命令,而不是显示解释器提示符>>>,给你一个类似的消息:

'python' is not recognized as an internal or external command, operable program or batch file.

或:

Bad command or filename

然后您需要确保您的计算机知道在哪里可以找到 Python 解释器。为此,您必须修改名为 PATH 的设置,它是 Windows 将在其中查找程序的目录列表。

或尝试重新安装,请参阅下面的最后一条评论:

来自 docs.python.org/3/using/windows.html:
为所有用户安装适用于 Windows 的 Python 启动器)[...] 将根据第一页底部的选项安装适用于 Windows 的 Python 启动器。
而且,docs.python.org/3/using/windows.html#launcher 状态
错误“py”未被识别为内部或外部命令、可运行程序或批处理文件。来自 Python 的每个用户安装不会将启动器添加到 PATH 的事实,除非在安装时选择了该选项。

这次重新安装可能会有所帮助!

【讨论】:

  • 当我调用“Python”时,它看起来像这样:C:\Users\Aaron>Python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. 所以我认为它工作正常,但谢谢。我的问题似乎源于试图明确使用“py.exe”
  • py.exe不是和Python一样吗?至少我的系统在 win32 上显示相同的控制台(Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] ... 独立于命令py.exe 或 python。
  • 将“C:\WINDOWS\py.exe”添加到您的路径中。
  • 我尝试将它添加到我的路径中,但它没有做任何事情。系统似乎没有任何地方的“py.exe”文件。
猜你喜欢
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
相关资源
最近更新 更多