Python命令在命令提示符下不起作用

Posted

技术标签:

【中文标题】Python命令在命令提示符下不起作用【英文标题】:Python command not working in command prompt 【发布时间】:2012-11-15 19:09:43 【问题描述】:

当我在命令行中输入python 时,命令提示符会显示python is not recognized as an internal or external command, operable program, or batch file。我该怎么办?

注意:我的计算机上安装了 Python 2.7 和 Python 3.2。

【问题讨论】:

【参考方案1】:

我已经从Releases for Windows 安装了最新的适用于 Win10 的 Python。 只需在 Command Prompt Window 中输入 py 即可启动 Python。

Microsoft Windows [Version 10.0.15048]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\sg7>py
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>`enter code here`

测试:

>>> print("hello!")
hello!
>>>

请注意,在我的例子中,Python 安装在 C:\Users\sg7\AppData\Local\Programs\Python\Python36> 目录中

C:\Users\sg7\AppData\Local\Programs\Python\Python36>dir
 Volume in drive C is Windows7_OS
 Volume Serial Number is 1226-12D1

 Directory of C:\Users\sg7\AppData\Local\Programs\Python\Python36

08/05/2018  07:38 AM    <DIR>          .
08/05/2018  07:38 AM    <DIR>          ..
12/18/2017  09:12 AM    <DIR>          DLLs
12/18/2017  09:12 AM    <DIR>          Doc
12/18/2017  09:12 AM    <DIR>          include
12/18/2017  09:12 AM    <DIR>          Lib
12/18/2017  09:12 AM    <DIR>          libs
10/03/2017  07:17 PM            30,334 LICENSE.txt
10/03/2017  07:17 PM           362,094 NEWS.txt
10/03/2017  07:15 PM           100,504 python.exe
10/03/2017  07:12 PM            58,520 python3.dll
10/03/2017  07:12 PM         3,610,776 python36.dll
10/03/2017  07:15 PM            98,968 pythonw.exe
08/05/2018  07:38 AM           196,096 Removescons.exe
08/05/2018  07:38 AM            26,563 scons-wininst.log
08/05/2018  07:38 AM    <DIR>          Scripts
12/18/2017  09:12 AM    <DIR>          tcl
12/18/2017  09:12 AM    <DIR>          Tools
06/09/2016  11:53 PM            87,888 vcruntime140.dll
               9 File(s)      4,571,743 bytes
              10 Dir(s)  20,228,898,816 bytes free

当我在C:\Users\sg7&gt; 目录级别时,python 可以通过键入来调用 AppData\Local\Programs\Python\Python36\python

C:\Users\samg>AppData\Local\Programs\Python\Python36\python
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

较新的 Python 3.7 将安装在: C:\Users\YourUserNameHere\AppData\Local\Programs\Python\Python37

如果您希望可以添加到您的路径环境变量: %USERPROFILE%\AppData\Local\Programs\Python\Python36

【讨论】:

这也适用于我。调用python 然后检查sys.executable 给我C:\\Python27\\python.exe。打电话给py,我得到C:\\Users\\user\\AppData\\Local\\Continuum\\anaconda3\\python.exe。 Anaconda 在我的 PATH 中,但 Python27 不在。如果有人深入了解为什么会这样,我将非常感激!编辑:尝试运行py -i filename,它在 Python 2.7 中运行。 Grr. +1 虽然我不得不说这个快捷方式是可悲的。现在我想使用pip,但不知道应该输入什么。 我是使用 Python 3.8 的 Win 10 用户,这对我也有用。我正在使用“Python file.py”,但什么也没发生。我输入了“py file.py”,它起作用了。谢谢!【参考方案2】:

终于成功了!!!

我需要做一些事情来让它工作

    将 C:\Python27\ 添加到 PATH 系统变量的末尾 将 C:\Python27\ 添加到 PYTHONPATH 系统变量的末尾

我必须将它们添加到两者中才能正常工作。

如果我添加了任何子目录,由于某种原因它不起作用。

感谢大家的回复。

【讨论】:

对于较新版本的 Python,您可以在此处找到它:`C:\Users\UserNameHere\AppData\Local\Programs\Python\Python37` 天哪,他们为什么不能在安装时为我们这样做。这就是为什么人们更喜欢 C# PYTHONPATH 是我缺少的东西。 @NoName you mean like this? 为什么需要修改 PYTHONPATH 以从命令 shell 运行可执行文件?将目录添加到 PATH 应该足以运行 python.exe。然后 python 可能需要设置环境变量 PYTHONPATH 才能正常工作(据说是从某个地方导入模块)。为什么一个可执行文件不能自己检索它启动的目录是另一个谜,但至少应该可以运行它。可惜你没有解释。是的,正确的安装应该处理这类事情,而不是依赖于用户是操作系统专家。【参考方案3】:

视频非常有用。

    转到系统属性 -> 高级(或在 开始菜单。) 点击环境变量 编辑“PATH”变量 添加 2 个新路​​径“C:\Python27”和“C:\Python27\scripts” 再次运行 cmd 并输入 python。

它对我有用

【讨论】:

【参考方案4】:

请考虑通过py launcher、as described in sg7's answer 启动 Python,而不是命令“python”,它会运行您最新版本的 Python(或让您选择特定版本)。 py 启动器在安装期间通过复选框启用(默认值:“on”)。

尽管如此,您仍然可以在“首次安装”或“修改”现有安装时将“python”命令放入 PATH。


首次安装:

在第一个对话框中选中“[x] Add Python x.y to PATH”框。以下是它在 3.8 版中的外观:

这具有将以下内容添加到PATH 变量的效果:

C:\Users\...\AppData\Local\Programs\Python\Python38-32\Scripts\
C:\Users\...\AppData\Local\Programs\Python\Python38-32\

修改现有安装:

重新运行您的安装程序(例如,在下载中,python-3.8.4.exe)并选择“修改”。 检查您想要的所有可选功能(可能没有更改),然后单击 [下一步]。勾选 [x]“将 Python 添加到环境变量”和 [安装]。

【讨论】:

我看不到高级选项 我已经彻底检查了区分首次安装和重新安装的答案,还提到了“py”启动器。而且,我已将其更新到 3.8【参考方案5】:

在 Windows 7 中,命令提示符中的 python 启动命令是

c:\>python3

但在 Windows 10 中,命令提示符中的 python start 命令是

  C:\>py
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>


C:\>py --version
Python 3.6.3

C:\>

但在 Windows 10 python3 语法不起作用也没有给出任何错误。

Django 启动命令也使用 py 而不是 python3。

d:\>py manage.py runserver

【讨论】:

在 Windows 7 中,要从 cmd 提示符启动 python,您无需键入 python3python 就足够了。安装目录中有一个python.exe文件,至少对于我使用的3.8.6版本。 我在 Windows 10 上。在 cmd 窗口中 python 无法识别,但 py 有效。【参考方案6】:

如果其他人有同样的问题,如果你已经添加到 PATH 并且如果你使用完整路径运行它 (C:\Users\pete.kirkham\AppData\Local\Programs\Python\Python39\python) 可以工作,在 Win 10 上,命令行命令 python 默认别名为Windows 商店。

转到设置>应用程序执行别名并禁用运行应用程序安装程序的python的别名。

更多细节可以在这个问题中找到CMD opens window store when I type python

(假设您的组织没有禁用 Windows 应用商店并且您通过应用商店安装它会在您安装时禁用此功能,但通过从 python.org 下载安装不会)

【讨论】:

难以置信...我发现了这个,老实说,这个别名确实是微软应该避免的。如果我在路径中添加一些东西,我希望它会在我调用它时被使用,而不是发生完全不同的事情。【参考方案7】:

这对我有用:

PS C:\Users\MyUsername> py -V

Python 3.9.0

【讨论】:

【参考方案8】:

他们已经给了我们一个脚本来为我们做这件事

C:\Users\hUTBER\AppData\Local\Programs\Python\tools\scripts\win_add2path.py

您需要确保关闭并打开cmd,否则那里不会有新路径。

如果您找不到此脚本,这些是它将添加的路径,最后我必须手动添加。

C:\Users\hUTBER\AppData\Local\Programs\Python\Python35
C:\Users\hUTBER\AppData\Local\Programs\Python\Python35\Scripts

我和现在pythoncmd 工作的地方

【讨论】:

关闭并重新打开 cmd 提示符就可以了! 别忘了给答案投票:D 如果它有更多的选票,更多的人会看到它并尝试同样的事情 我确实投了赞成票。我很惊讶我是唯一一个对你的评论投赞成票的人。有时它就像关闭和重新打开终端一样简单。【参考方案9】:

Kalle 发布了一个指向带有this video 的页面的链接,但它是在 XP 上完成的。如果您使用 Windows 7:

    按 windows 键。 键入“系统环境”。按回车键。 按alt + nalt + e 按右,然后按;(这是一个分号) 不加空格,在最后输入:C:\Python27 按回车键两次。按 esc。 使用windows key + r 调出运行对话框。输入python 并按回车键。

【讨论】:

【参考方案10】:

我可能是这里最新手的用户,我花了六个小时在 Windows 8 的命令行中运行 python。一旦我安装了 64 位版本,然后我将其卸载并替换为 32 位版本.然后,我在这里尝试了大多数建议,特别是通过在系统变量中定义路径,但它仍然没有用。

然后我在命令行中输入时意识到: 回声%path%

路径仍未定向到 C:\python27。所以我只是重新启动了计算机,现在它可以工作了。

【讨论】:

【参考方案11】:

只有几厘米:

    如果您只想在 PATH 上获取 Python,请不要设置 PYTHONPATHPYTHONPATH 环境变量告诉 Python 在哪里寻找要导入的模块。将其设置为 C:\Python27\ 不会有任何用处,尽管它可能是无害的。

    从“编辑系统变量”修改环境变量(包括PATH)对已经运行的进程没有影响。这意味着您必须重新启动 cmd.exe 才能使更改生效。但是,不需要重新启动。

    修改 PATH 时,还要添加 Scripts 子目录。或者,换句话说(并使用前面的示例):添加;C:\Python27;C:\Python27\Scripts。这将允许您从命令行运行诸如easy_installpipvirtualenvsphinx 之类的脚本——一旦您安装了这些脚本。这与适用于 Windows 的 UNIX-y 差不多。 (注意,在全新安装 Python 后,Scripts 子目录不存在,但会在需要时创建。)

    不要PATH 上放置任何额外的LibDLL 目录。没有必要,而且可能会造成伤害。

    如果您安装了多个版本的 Python(这并不少见),您最好不要将其中任何一个放在 PATH 上,而是创建不同的快捷方式cmd.exe 为每个版本设置PATH 的不同版本。您可能还对PEP-397 感兴趣。

【讨论】:

【参考方案12】:

您必须在系统路径中添加 python 可执行文件,执行以下操作,My Computer &gt; Properties &gt; Advanced System Settings &gt; Environment Variables > 然后在系统变量下创建一个名为“PythonPath”的新变量。在这个变量中我有"C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-foolder-on-the-path"

【讨论】:

这对我不起作用,我不确定我的电脑出了什么问题。 @Rohit Rayudu 尝试将C:\Python27 添加为路径之一。它应该工作。并检查您的 python 目录是否正确命名。 尝试重新启动,它应该可以工作。除此之外我不知道。 好的,谢谢你的帮助,我会重启我的电脑,我真的很希望它能正常工作。自从我卸载了 Google App Engine 后,这一直发生在我身上,这是否让您对可能出现的问题有任何其他想法? 如果重启后还是不行,请返回并确保您所做的环境变量更改仍然存在。【参考方案13】:

这是为使用他人共享计算机的办公室工作人员准备的。

我确实将我的用户路径放在了路径中,并在我的计算机的 PATH 变量中创建了 PYTHONPATH 变量。它列在计算机属性中的环境变量 -> Windows 7 中的高级设置下。

例子:

C:\Users\randuser\AppData\Local\Programs\Python\Python37

这样我就可以使用命令提示符了。

希望这会有所帮助。

【讨论】:

【参考方案14】:

即使按照上述有价值答案的说明,从命令行调用 python 也会打开 Microsoft Store 并将我重定向到下载软件的页面。

我发现这是由AppData\Local\Microsoft\WindowsApps 中的 0 Ko python.exe 文件引起的,该文件优先于我的 PATH 中的 python 可执行文件。

从我的 PATH 中删除这个文件夹解决了它。

【讨论】:

【参考方案15】:

似乎在您的 PATH 中找不到 python 可执行文件,它定义了它在哪里寻找可执行文件。有关如何在 PATH 中获取 python 可执行文件的说明,请参阅the official instructions。

【讨论】:

【参考方案16】:

将 python bin 目录添加到计算机的 PATH 变量中。它列在计算机属性中的环境变量-> Windows 7 中的高级设置下。它应该与 Windows 8 相同。

【讨论】:

【参考方案17】:

您需要将 python 添加到您的 PATH 中。我可能是错的,但 Windows 7 应该具有与 Windows 8 相同的 cmd。在命令行中试试这个。永久使用 setx 会更改您的 PATH。请注意,没有等号,而是使用引号。

setx PATH "%PYTHONPATH%;C:\python27"

c:\python27 设置为您要运行的python 版本的目录,在命令提示符中输入python

【讨论】:

我试过了,它确实有效。如果我这样做,它会暂时起作用,但是如果我关闭命令提示符然后重新打开它并再次键入 python,它就会停止工作。这应该发生吗/我必须每次都插入这一行吗? @RohitRayudu:是的,如果你这样做只是暂时的——这就是为什么其他答案建议通过系统属性或控制面板进行更改。好消息是,这项工作似乎表明这是一个 PATH 设置问题。 我该如何解决这样的 PATH 设置问题,@martineau @enginefree 的回答听起来应该永久更改 PATH。 @RohitRayudu - setxset 的永久替代品,我对答案进行了更改。【参考方案18】:

只需使用命令py。我在 Windows 7 上运行 python 3.6.2,它工作得很好。 我从系统目录中删除了所有 python 路径,当我在 cmd 中运行命令 echo %path% 时,这些路径没有显示出来。 Python 仍然可以正常工作。 我在输入python时不小心按了回车键...

编辑:我没有提到我将 python 安装到自定义文件夹 C:\Python\

【讨论】:

【参考方案19】:

将python目录添加到路径时(计算机>属性>高级系统设置>高级>环境变量>系统变量>路径>编辑),记得添加分号,然后确保添加的目录准确存储文件“python.exe”的位置(例如 C:\Python\Python27,如果这是存储“python.exe”的位置)。然后重新启动命令提示符。

【讨论】:

【参考方案20】:

如果您正在使用命令提示符,并且即使在将 python 路径添加到系统变量 PATH 后仍遇到问题。

记得重启命令提示符(cmde.exe)。

【讨论】:

【参考方案21】:

我想添加一个安装时发生的常见问题。路径安装长度可能太长。为避免这种情况,请更改标准路径,使其短于 250 个字符。

当我在 WIN10 操作系统上安装软件并进行自定义安装时,我意识到了这一点。在自定义安装中,应该可以通过软件将 Python 添加为 PATH 变量

【讨论】:

这是非常正确的。我遇到了同样的问题,将路径更改为更短的路径解决了它。谢谢!【参考方案22】:

这些都不适合我。 要真正在其路径中识别 Python,您需要做的是仅从该网站而不是其他网站下载它的最新版本: https://www.python.org/downloads/

但安装时要小心;如果您有 Windows 计算机,默认安装设置为不将 Python 的路径添加到控制面板中的环境变量中,但您应该更改设置,以便安装完成,它会自行完成。

【讨论】:

您说“只从本网站下载最新版本,不从其他网站下载:python.org/downloads”,但您从未说过“本网站”是什么。

以上是关于Python命令在命令提示符下不起作用的主要内容,如果未能解决你的问题,请参考以下文章

javac在Windows命令提示符下不起作用

“java -version”在命令提示符下不起作用

awk 命令在 /bin/sh -c 下不起作用

使用 SSH 密钥登录在 Git Bash 上不起作用,但在 Windows 命令提示符中起作用 [关闭]

将GitHub链接到项目[重复]

Snowflake METADATA$FILENAME 关键字在 snowsql(Unix 命令提示符)中不起作用,但在雪花 UI 中起作用