为什么 git bash 没有将我的 python 安装的路径转换为 ​​nix 表示法?

Why isn't git bash transforming the path to *nix notation for my python installation?

在 Windows 7 上工作,我安装了 git 和 git bash,然后安装了 python,我遇到了问题 运行 从命令行中设置它。这是我到目前为止学到的东西:

  1. *nix 使用 : 作为路径分隔符。

  2. 因此C:/Users/Someone将被视为两条独立的路径。

  3. *nix 使用 /c/users/someone 表示法。

  4. 当我从 git bash 运行 echo $PATH 时,那里的每个路径(包括我现在才刚刚安装的 Node,在一切之后else) 正在使用正确的 /c/ 表示法--

  5. --除了 Python,它仍然有 C:/ 符号,因此无法从终端访问,因为它找不到它。

  6. 当我进入环境变量并从 os 的角度检查路径时,它们当然是 all in C:/ 符号.

如何,在哪里,and/or 为什么 git bash 将它们全部转换为自己的符号 except python ?我该如何解决这个问题?

这里是 PATH,如 Windows 高级设置中的环境变量所示:

C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\; C:\Users\Aerovistae\AppData\Local\Programs\Python\Python36-32;C:\Users\Aerovistae\AppData\Roaming\npm

这是从git看到的 bash:

/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 (x86)/Windows Kits/8.1/Windows Performance Toolkit:/c/Program Files/nodejs:/c/Program Files/Intel/WiFi/bin:/c/Program Files/Common Files/Intel/WirelessCommon: C:/Users/Aerovistae/AppData/Local/Programs/Python/Python36-32:/c/Users/Aerovistae/AppData/Roaming/npm:/usr/bin/vendor_perl:/usr/bin/core_perl

你可以看到接近尾声 Python 是唯一一个符号错误的。

打开一个新的CMD,并设置你需要的最小路径:

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set GIT_HOME=C:\Path\to\Git
set PATH=%GIT_HOME%;%GIT_HOME%\bin;%GIT_HOME%\usr\bin;%PATH%
SET PATH=C:\Users\Aerovistae\AppData\Local\Programs\Python\Python36-32;%PATH%

(确保 python.exe 确实在 C:\Users\Aerovistae\AppData\Local\Programs\Python\Python36-32 中)

然后,输入 bash,看看 python.exe 是否有效。

您还可以添加以前的路径,以找出导致问题的路径。
在 OP 的例子中,Python 路径的前导 space 是麻烦制造者。