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

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


当前回答

输入命令PY而不是Python。调用解释器 (python.org)。

其他回答

除了@Charles-Duffy的答案,你可以直接使用winpty,而不需要安装/下载任何额外的东西。运行winpty c:/Python27/python.exe即可。winpty.exe工具可以在Git\usr\bin中找到。我使用的是Git for Windows v2.7.1

@Charles-Duffy预构建的二进制文件是0.1.1版本(根据文件名),而包含的是0.2.2版本

对我有用的一个是前面提到的这些伟大的回答是别名如下: (我使用anaconda,所以首先找到python路径的位置,然后将其添加到git bash的别名中)。 1. 在anaconda终端上运行:where python 2. 在git bash上运行:alias python='winpty ' C:\ProgramData\Anaconda3\envs\your_env_name\python.exe"' 3.完成了。Python是在git Bash中使用别名定义的。

感谢Vitaliy Terziev和hygull提供的非常有用的答案。

这是MSys2中的一个已知错误,MSys2提供了Git Bash使用的终端。你可以在没有ncurses支持的情况下运行Python构建,或者使用WinPTY来解决这个问题,使用方法如下:

要在mintty或Cygwin sshd中运行Windows控制台程序,将console.exe前置到命令行: c:/Python27/python.exe win32上的Python 2.7.2(默认,2011年6月12日,15:08:59)[MSC v.1500 32位(Intel)] 输入“帮助”,“版权”,“版权”或“许可”以获取更多信息。 >>> 10 + 20 30. > > >退出()

预构建的msys二进制文件很可能与Git Bash一起工作。(如果这个答案已经发布了很长一段时间,请检查是否有更新的版本!)


对于Git for Windows 2.7.1,也可以尝试使用winpty c:Python27/python.exe;WinPTY可能包括开箱即用。

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

% python

所以我只用:

% winpty python

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

% python -i

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

见所附会议。

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

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

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