【问题标题】:Anaconda and Git Bash in Windows - conda: command not foundWindows 中的 Anaconda 和 Git Bash - conda: command not found
【发布时间】:2019-06-27 07:26:00
【问题描述】:

我已安装 Anaconda 并将 Path 环境变量设置为 C:\Anaconda3; C:\Anaconda3\Scripts

然后我尝试在 Git Bash 中运行

conda install python

但是有一个错误信息“bash: conda: command not found”。我想知道为什么。

【问题讨论】:

  • type: echo $PATH 在你的 git bash 中并仔细检查你的 git bash 是否看到你刚刚添加的路径。例如,我的 git bash 给了我类似的东西:/c/Anaconda3/condabin:/c/Anaconda3/Scripts:/c/Anaconda3:

标签: python anaconda git-bash


【解决方案1】:

为了能够在 gitbash 上运行 conda,您需要将其添加到路径中。很多时候我已经看到默认情况下完成了 - as shown in the setup for this workshop。如果没有,就像您的情况一样,那么您可以通过运行直接运行他们的设置:

. /c/Anaconda3/etc/profile.d/conda.sh

运行之后你应该可以运行 conda 命令了。

要永久保留此设置,您可以在 .profile.bashrc 文件 (read more about their differences) 中添加这样的行。这样做的一种方法是运行以下内容:

echo ". /c/Anaconda3/etc/profile.d/conda.sh" >> ~/.profile

如果安装 Anaconda 的路径包含空格(例如C:\Program Files),您可能会遇到问题。在这种情况下,您需要更改 anaconda 位置或编辑 conda.sh 脚本,如下所示:

sed -e '/^_CONDA_EXE=.*/a alias myconda="${_CONDA_EXE/ /\\\\ }"' \
    -e 's/\$_CONDA_EXE/myconda/g' /c/Program\ Files/Anaconda3/etc/profile.d/conda.sh > conda_start.sh

此 sed 命令插入一个新的别名定义 myconda,它将 anaconda 路径从 Program Files 更改为 Program\ Files,因此 bash 不会因出现这样的错误而停止:

bash: /c/Program: No such file or directory

第二个 sed 命令用创建的新别名替换 _CONDA_EXE 变量。

由于上述内容并未修改 anaconda 提供的文件,因此您需要更新您的 .profile 文件以加载我们刚刚创建的文件 conda_start.sh

【讨论】:

  • 注意:如果~/.bashrc~/.bash_login 存在,则可能无法读取~/.profile
  • 我在这里遇到了同样的问题。我已按照这些说明进行操作,但出现新错误: conda bash: C:\bld\conda_1565126647711_h_env\Scripts\conda.exe: No such file or directory。我不知道为什么这条路径是:C:\bld\conda_1565126647711_h_env\!!当我进一步查看时,我注意到 ~\Anaconda3\Scripts\activate 中的 'conda activate' bash 脚本,并且在脚本中我有这个变量:_CONDA_ROOT="C:\bld\conda_1565126647711_h_env"!我认为它与虚拟环境有问题。我试图将该路径修改为我的实际 Anaconda 路径,但不起作用,有什么想法吗??
  • 我认为我上面的解决方案可能不再是最新的了。如果您安装了新版本的 Anaconda,并在安装过程中选中了“将 anaconda 添加到我的 PATH 环境变量”,那么我相信您可以从 git bash 终端运行 conda init bash。这将为您的.bash_profile 创建一个条目。就您而言,我认为您的 conda 安装位置与您的环境之间的差异可能会给您带来麻烦。你的“虚拟环境”是anaconda environments吗?
  • 注意在 echo 命令中包含带空格的路径的“\”技巧也可以!不需要 sed 命令。
【解决方案2】:

加入@dvdgc13。就我而言,我通过添加

解决了这个问题
. C:/Users/user/Anaconda3/etc/profile.d/conda.sh

致我的.bash_profile

【讨论】:

    【解决方案3】:

    首先,您需要移动到conda所在的目录

    (某些路径,例如C/Anaconda3/Scripts../miniconda3/Scriptsanaconda3/bin

    然后,打开终端。

    或者,如果您使用 Windows 并且找不到 conda 所在的位置,请尝试移至 C:\Users\User_Name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit) 等目录并打开 Anaconda 提示符。)

    然后,这样做:

    conda init
    

    或类似的东西

    conda init bash
    

    如果您使用 Mac 操作系统:

    conda init zsh
    

    会很好用。

    如果你想使用不同的外壳,

    conda init [shell_name]
    

    [shell_name] 可以是:bash、cmd.exe、fish、powershell、tcsh、xonsh、zsh、

    使用conda init --help 了解更多信息。

    【讨论】:

    • 我不明白这是如何工作的。 OP 说找不到“conda”命令。
    • 您只需要确定 conda 可执行文件的位置并使用完整路径即可。所以在这种情况下,它是\C\Anaconda3\Scripts\conda init bash
    • STEP BY STEP: - 切换到 ../miniconda3/Scripts/ - 在文件夹中打开 git bash - ./conda init bash - 这将更改 .bash_profile 文件。
    【解决方案4】:

    我尝试做和你一样的事情,但我无法让它发挥作用。 starriet 有有效的答案,但我会让其他人更容易阅读。您可以直接使用资源管理器打开命令窗口,而不用纠结于路径。

    1. 使用 Windows 资源管理器查找您的 Anaconda3 文件夹 这可能是用户安装,位于您的用户文件夹中,例如“C:/Users/your_name/Anaconda3”。

    2. Shift + 右键单击​​在资源管理器上,然后单击“在此处打开 PowerShell Windows”。注意:您可以直接点击“Git Bash”然后打开 Bash,这对命令没有影响。

    1. 在 PowerShell 窗口中输入“conda init”。即使您没有正确的路径,这也有效,因为命令行会在当前字典中查找正确的 exe。如果您在资源管理器中向下滚动,您应该能够找到它。

    由于我的提示,我的 PowerShell 窗口看起来与您的窗口略有不同,但没有区别。

    1. 退出 PowerShell 并打开 Git Bash。输入“conda”以确认一切正常。

    【讨论】:

      【解决方案5】:

      对于 MAC 用户,请执行以下操作:

      $ echo ". /usr/local/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
      $ source ~/.bashrc
      

      【讨论】:

      • 这个问题清楚地表明这是关于 Windows 的。但我相信这仍然可以帮助一些失去的 mac 用户 ;)
      猜你喜欢
      • 2020-05-31
      • 2019-07-07
      • 2012-03-16
      • 2014-07-01
      • 2018-07-18
      • 2010-12-09
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      相关资源
      最近更新 更多