不能在 git 终端中 运行 python 吗?

Can't run python in git terminal?

我在我的 Win7 系统上安装了 python 3.6,我正在尝试让它在 git bash (MINGW64) 中运行,到目前为止无济于事。

我已将安装目录(当然不是 .exe)添加到 PATH,但没有结果。

我直接cd到安装目录也看不到

$ python
bash: python: command not found
$ echo $PATH
/c/Users/Aerovistae/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/Aerovistae/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon:/cmd:/c/Program Files (x86)/Skype/Phone:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon: C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32:/usr/bin/vendor_perl:/usr/bin/core_perl
$ cd C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32
$ python
bash: python: command not found
$ python.exe
bash: python.exe: command not found

如果我从该目录中尝试 ./python,当我按下回车键时它会转到下一行,并允许我继续输入,因为出于某种原因它期待更多的命令。 ./python 未被识别为完整命令,它正在等待关闭,就好像我有一个开引号但没有闭引号一样。想不通为什么。

我在这里错过了什么?为什么即使我在目录中也不能 运行 .exe?

旁注,为什么它显示 PATH 有冒号分隔符而不是分号分隔符?

why does it show PATH as having colon separators rather than semi-colon separators?

因为bash使用:作为路径分隔符。这意味着您的 PATH 环境变量中的 C:/yadda/yadda 被解析为 两个 目录:C/yadda/yadda。如果仔细查看 echo $PATH 输出,您会发现许多条目以 /c/ 开头。您的 python 安装条目是唯一使用 C:/ 的条目。在 .bashrc 或 .profile.

中设置 PATH 时应使用 /c/ 表示法

还要注意路径名中的空格和 : 前后的多余空格。前者肯定是有问题的。我不确定后者,因为我在设置 PATH 时从不在此位置添加空格。

If I try ./python from inside that directory, it just goes to the next line when I hit enter, and allows me to keep typing because it's expecting more to the command for some reason. 

根据@eryksun 的评论:

您需要在普通 Windows 控制台中 运行 bash.exe,或者如果使用 mintty 终端,则强制 Python 通过 [=19 使用交互模式=]. mintty 隐藏了真正的控制台,并将 StandardInput 设置为名为 \.\pipe\msys-[UNIQUE_ID]-pty0-from-master 的管道,将 StandardOutput 设置为名为 \.\pipe\msys-[UNIQUE_ID]-pty0-to-master 的管道。管道在 Windows 中不是字符设备,所以 isatty returns false,所以 Python 以非交互模式启动,除非通过 -i 选项强制.

尝试在您的 git bash 上使用此命令:alias python='winpty python.exe 如果你可以正常使用 Python 并且你可以毫无问题地输出和输入你可以在你的 .bashrc 配置文件中添加该命令(通常在你的 .git 和 .git 的同一目录中)。 mintty 配置文件(在 Windows 上的用户名下)。

我不知道 winpty 到底做了什么,但我想这就是这里描述的内容:https://github.com/rprichard/winpty