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脚本遇到问题,这是另一件可以尝试的事情。

享受。

其他回答

这个问题的另一个例子是在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快捷方式从:

"C:\Program Files\Git\git-bash.exe" --cd-to-home 

to

"C:\Program Files\Git\git-cmd.exe" --no-cd --command=usr/bin/bash.exe -l -i

这是ConEmu用来启动git bash的方式(版本16)。最近的版本正常启动,这就是我如何到达那里…

这是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可能包括开箱即用。

我是windows 10用户,我已经在我的系统中安装了GIT,只是接受默认设置。

在阅读了上面的答案后,我得到了我自己的2个解决方案,这2个解决方案在GIT bash上完美地工作,并方便我在GIT bash上执行Python语句。

我附加了我的GIT bash终端的3个图像。第一个是问题,后两个是解决方案。

问题-光标只是等待击中python命令

解决方案1

在GIT bash终端执行winpty <path-to-python-installation-dir>/python.exe。

注意:不要在GIT bash中使用C:\Users\Admin这样的路径样式,而是使用/C/Users/Admin。

在我的例子中,我在GIT bash上执行了winpty /C/Users/SJV/Anaconda2/python.exe命令

或者如果你不知道你的用户名,那么执行winpty /C/Users/$ username /Anaconda2/python.exe

解决方案2

只要输入python -i就行了。

谢谢。

Git Bash Workaround-启动带有别名的Python 2和Python 3

嗨。这是(对我来说)运行Python (Python 2.7和Python 3.x)的最佳解决方案,直接从Git Bash在Win 10 =>上添加别名到Git Bash使用的别名文件中。

Git Bash别名文件是alias .sh。它位于: C:安装Git\etc\profile.d\alias .sh的路径

1)打开aliases.sh(使用Atom等文本编辑器)

例如:在我的例子中,文件在C:\Software\Develop\Git\etc\profile.d\alias .sh

2)添加Python的别名

在我的例子中,python.exe被安装在:

C:\Networking\Network Automation\Python 2.7\python.exe
C:\Networking\Network Automation\Python 3.7\python.exe

所以你必须创建2个别名,一个用于Python 2(我命名为python2),另一个用于Python 3(我只命名为Python) Git Bash使用linux文件结构,所以你需要将“\”改为“/” 如果你有一个像我举的Network Automation这样的路径,你可以用" "

例如,“网络自动化”。

Winpty是调用可执行文件的神奇命令。

因此,在alias .sh的开头添加这些行

alias python2='winpty C/Networking/"Network Automation"/"Python 2.7"/python.exe'
alias python='winpty C/Networking/"Network Automation"/"Python 3.7"/python.exe'

3)添加或修改其他别名(如果需要)

我还修改了ll别名,以显示所有文件,并在一个人类可读的列表中:

alias ll='ls -lah'

4)保存alias .sh文件


5)好吧! !关闭并重新启动Git Bash

现在,你可以直接从Git shell中启动这两个Python

$ python ->启动python

$ python2 ->启动Python 2

$ ll ->输入ls -lah快速显示您的详细文件列表

干杯,哈利