不能在 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
我在我的 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.
/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