“python3”未被识别为内部或外部命令、可执行程序或批处理文件。

101

我正在使用Windows 7上的Python 3.5.2版本,并尝试使用python3 app.py。 我收到了以下错误信息:

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

为什么执行 python3 命令会出问题?是否有具体原因?

我还验证了已将路径添加到环境变量中。

12个回答

218

没有python3.exe文件,这就是为什么它失败的原因。

尝试:

py

代替。

py只是python.exe的启动器。如果您在计算机上安装了多个Python版本(2.x,3.x),则可以通过以下方式指定要启动的Python版本:

py -2或 py -3


1
“py.exe” 似乎被安装在 “C:\Windows\py.exe” 上。使用 “py -3.5” 等命令可以选择特定版本的 Python。 - Peter
2
这个只能在Windows上使用吗?我们不能在Linux上使用吗?我尝试过,但它不起作用。 - Umar Asghar
1
一旦安装了Windows版的Python,无论是哪个版本,只需尝试使用“python”而不是“python3”。 - jefferson.macedo
或者使用 python app.py,因为可执行文件的名称是 python.exe(如果您已将Python添加到PATH)。 - NameError

45
你也可以尝试这个方法: 前往Python安装路径。对于我来说,它是类似于C:\Users\\Local Settings\Application Data\Programs\Python\Python37的路径。 在这个文件夹中,你会找到一个Python可执行文件。只需创建一个副本并将其重命名为python3即可。每次都有效。

enter image description here


1
这会将Python3解释器添加到系统中吗? - lxknvlk
我相信这是唯一正确的方法! 除非路径不正确,(打开隐藏项)C:\ Users \<user> \ AppData \ Local \ Programs \ Python \ Python37 - Dagad

13

对于Windows用户,我认为您需要将所有的python3调用更改为python,以解决您原来的错误。这个更改将运行设置在当前环境中的Python版本。如果您需要保持这个调用不变(即python3),因为您正在跨平台工作或出于其他原因,则可以创建一个软链接来解决问题。要创建它,请移动到包含Python可执行文件的文件夹并创建该链接。例如,在我的情况下,通过使用Windows 10中的mklink实现:

cd C:\Python3
mklink python3.exe python.exe

Linux中使用(软链接)符号链接:

cd /usr/bin/python3
ln -s python.exe python3.exe

10

在Windows中,Python3.exe未定义

当需要使用某个特定版本的Python时,请通过为您的项目创建虚拟环境来指定路径

Python 3

virtualenv --python=C:\PATH_TO_PYTHON\python.exe environment

Python2

virtualenv --python=C:\PATH_TO_PYTHON\python.exe environment

然后使用以下命令激活该环境

.\environment\Scripts\activate.ps1


6

在我这种情况下,我有一个由管理员指定的提交时的git hook。所以对我来说去更改脚本(其中包含Python3调用)并不是很方便。

最简单的解决方法就是将python.exe复制为python3.exe

现在我可以运行pythonpython3了。


这对我在Windows上有效(如果Windows有真正的链接-请告诉我们!):copy "C:\Program Files\Python310\python.exe" "C:\Program Files\Python310\python3.exe" 然后用以下命令验证: python3 --version - undefined

5
如果您的计算机上没有安装Python2,您可以尝试使用Python而不是Python3。

2

对于Python 27

virtualenv -p C:\Python27\python.exe django_concurrent_env

适用于Python36

 virtualenv -p C:\Python36\python.exe django_concurrent_env

1

在该目录下输入以下命令以启动服务器: py -3.7 -m http.server


0

发现不要按播放按钮,而是在右上角按“开始”,这样在Visual Studios中应该可以工作:

不要按照第一个答案禁用

在命令中说python3默认情况下不起作用。

找出模块问题的解决方法(解决方案):https://youtu.be/paRXeLurjE4

总结: 在无法导入模块的情况下导入Python模块:

将鼠标悬停在搜索栏的Python上: 单击打开文件夹 将鼠标悬停并右击 点击属性 复制\python.exe之前路径中的所有内容 关闭那些窗口

对于cmd(管理员): cd - 复制的路径- 然后python -m pip install --upgrade pip cd Scripts pip install "Name of Package" 比如 pip install --module (package) --


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0

我在Win10上安装了Python 3.7、3.8和3.10。

对于我来说,"python"启动的是3.10版本,不接受命令(如-3.7)。"py"启动最新版本但可以接受命令;而"python3"则没有反应。

卸载3.10后,"python"不再有任何反应,而"py"启动了3.8版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接