无法在git终端中运行python?

问题描述:

我在我的Win7系统上安装了python 3.6,并试图让它在git bash(MINGW64)中工作,至此无济于事。无法在git终端中运行python?

我已将安装目录(当然不包括.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具有冒号分隔符而不是分号分隔符?

+0

你怎么添加Python的安装目录路径? –

+0

[Python不能在git bash的命令行中工作]的重复(https://*.com/questions/32597209/python-not-working-in-the-command-line-of-git-bash) –

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

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

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

如果我从该目录中尝试./python,当我按下Enter键时,它会进入下一行,并且允许我继续键入,因为它出于某种原因期待更多的命令。

每注释从@eryksun:

您可能需要在正常的Windows控制台运行bash.exe或者,如果使用的是mintty终端,强迫的Python通过python -i使用的交互模式。 mintty隐藏真实控制台并将StandardInput设置为名为\\.\pipe\msys-[UNIQUE_ID]-pty0-from-masterStandardOutput的管道到名为\\.\pipe\msys-[UNIQUE_ID]-pty0-to-master的管道。管道不是Windows中的字符设备,因此isatty返回false,所以Python以非交互模式启动,除非通过-i选项强制执行。

+0

忘了提起那个可悲的我做了这个 - 为了记录,我非常熟悉linux命令行。它只是挂起,当我按下回车键时,会跳到下一行闪烁的光标,就像它期待更多的输入,并且'.python'不会被识别为有效的独立命令。必须按Ctrl + C出它。 – Aerovistae

+0

@Aerovistae请编辑您的问题以显示此 –

+0

我这样做了,谢谢。 – Aerovistae

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

我不知道是什么winpty实际上做,但我想这就是它的描述如下:https://github.com/rprichard/winpty