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

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


当前回答

除了@Vitaliy Terziev的回答

尝试触摸.bash_profile,然后在文件中添加别名。

其他回答

试试python -i而不是python,这是一个游标。

对于vscode中的python 3.7.3版本,gitbash作为默认终端,我处理了一段时间,然后遵循@Vitaliy Terziev的建议,将别名添加到.bashrc,但使用以下规范:

alias python= ' " /c/Users/我的用户名/AppData/Local/Programs/ python /Python37/python.exe " '

注意单引号和双引号的组合,因为“我的用户名”空格。

对我来说,“winpty”无法在vscode中解析python路径。

除了@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版本

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

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

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

这个问题的另一个例子是在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安装期间的选项)。