Python将无法在git bash (Windows)中运行。当我在命令行中输入python时,它会把我带到一个空行,而不会像在Powershell中那样说它已经输入了python 2.7.10。它没有给我一个错误消息,但python就是不运行。

我已经确保PATH中的环境变量包括c:\python27。我还能检查什么?


发生此问题的会话如下所示:

user@hostname MINGW64 ~
$ type python
python is /c/Python27/python

user@hostname MINGW64 ~
$ python

...坐在那里,不回到提示。


当前回答

我知道这是一个老帖子,但我刚刚在运行Python 3.8.5和Git 2.28.0.windows.1的Windows 10上遇到了这个问题

不知何故,我还安装了几个不同的2.7x版本的Python。我删除了Python的所有版本(3x和2x),在这里下载了官方安装程序,安装了3.8.5 fresh(只是使用默认值),在这个位置安装了Python 3.8.5:

C:\Users\(用户名)\ AppData \本地Python \程序\ \ Python38

然后,为了让python命令在我的git bash shell中工作,我必须按照这里列出的说明手动将Python38的路径添加到我的路径变量中。注意这一点很重要,因为在出现的第一个模式底部的python安装程序中,它会询问您是否想将python路径添加到path环境变量中。我单击了旁边的复选框,但它实际上并没有添加路径,因此需要手动将路径添加到path环境变量中。

现在使用我的gitbash shell,我可以浏览到一个目录,其中有一个python脚本,只需键入python scriptname .py,它运行没有问题。

我想发布这个,因为这是我所要做的,让我的git shell允许我运行python脚本。我想可能有一些更新,所以我不需要做这里列出的任何其他解决方案。无论如何,如果在Windows 10机器上运行gitbash shell中的python脚本遇到问题,这是另一件可以尝试的事情。

享受。

其他回答

我在答案列表中看不到下一个选项,但我可以使用“-i”键获得交互式提示:

$ python -i
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55)
Type "help", "copyright", "credits" or "license" for more information.
>>> 

这个问题的另一个例子是在windows(使用git版本2.19.0.windows.1)中从git bash (MINGW64, Mintty)使用AWS Elastic Beanstalk命令行界面(awsebcli, ebcli)。

我只是发布这个,因为我花了一段时间来结束这里,搜索eb-cli的具体问题。

像eb init或eb config save这样需要用户输入的命令似乎会导致冻结/挂起。实际上,我猜控制台并没有更新请求用户输入的文本。此外,eb deploy只在命令完成后更新控制台文本,所以直到完成我才看到进度更新。

正如git for windows发布说明(v2.19.0版)中提到的,例如在Xun Yang的回答中,一个解决方案是运行

Winpty eb <command>(而不是eb <command>)

另一种选择,正如在这个git for windows问题中所建议的,可以使用windows本机控制台而不是mintty (git安装期间的选项)。

看看这个答案:

Git Bash不会运行我的python文件?

Git Bash中的路径应该这样设置:

PATH=$PATH:/c/Python27/

如果你运行Windows PowerShell命令并发生错误,错误记录将被追加到名为$error的“自动变量”中。

您可以在同一个PowerShell会话中使用$error变量来查找错误。

$Error变量包含一个信息集合,这就是为什么使用$Error[0]可以获得错误消息对象的原因。此外,$Error[0]变量将保存遇到的最后一个错误消息,直到PowerShell会话结束。

在我的Git Bash中,以下命令挂起,我没有得到提示:

% python

所以我只用:

% winpty python

如上所述,你还可以使用:

% python -i

2020-07-14: Git 2.27.0增加了对伪控制台的可选实验性支持,允许从命令行运行Python:

见所附会议。