【问题标题】:Why isn't git bash transforming the path to *nix notation for my python installation?为什么 git bash 不为我的 python 安装将路径转换为 ​​nix 表示法?
【发布时间】:2017-01-07 22:56:38
【问题描述】:

在 Windows 7 上工作,我使用 git bash 安装了 git,然后安装了 python,但无法从命令行运行它。以下是我到目前为止所学到的:

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

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

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

  4. 1234563李>
  5. --Python 除外,它仍然具有 C:/ 表示法,因此无法从终端访问,因为它找不到它。

  6. 当我转到环境变量并从操作系统的角度检查路径时,它们当然是 all C:/ 表示法。

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 是唯一一个有错误符号的。

【问题讨论】:

  • 您是在谈论 Python 所认为的 PATH 的值,还是您在谈论 PYTHONPATH 的值而不是 PATH
  • 我知道他看到 PATH 环境变量从 Bash 中看到的格式不正确。也许你的 ~/.bashrc 中有一些东西错误地增加了你的 PATH?
  • 我还没有创建 .bashrc。 @MarkReed 我说的是 bash 看到的PATH 的价值。因此,我无法从 bash 运行 python。真的不清楚为什么我会在这个问题上投反对票。
  • Python 的 PATH 中的条目有一个杂散的前导空格。这似乎是罪魁祸首。
  • 你的意思是相同的值 except 多余的空间已经消失了吗? (如果 bash 版本中的空间仍然存在,则表明更改未生效。您可能需要重新启动。)。

标签: linux windows bash git-bash mintty


【解决方案1】:

打开一个新的 CMD,并设置您需要的最小 PATH:

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 路径的前导空格是麻烦制造者。

【讨论】:

  • 对不起,如果这是一个愚蠢的问题,它一定是,但你不是设置PATH 3次,每次都覆盖之前的值吗?
  • @Aerovistae no:我先重置PATH,然后在PATH前面添加其他路径:set PATH=xxx;%PATH%
  • 是的,成功了!我认为这以某种方式提供了信息。但当然,这本身对新打开的 git bash 窗口没有影响。
  • @Aerovistae 您能否尝试将环境变量 PATH 设置为此答案中定义的值,然后打开一个新的 CMD,在其中键入 git bash?然后一个新的 git bash Windows 将从该 PATH 和 python 中受益。
  • 你是说不要使用 git bash 图标,设置 env var 然后使用 CMD 并键入 bash 而不是为这个奇怪的错误而烦恼?
猜你喜欢
  • 2021-09-10
  • 2013-11-28
  • 2012-11-23
  • 1970-01-01
  • 2023-01-27
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
相关资源
最近更新 更多