Windows中的Anaconda和Git Bash - conda命令未找到

40

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

然后我尝试在Git Bash中运行:

conda install python

但是报错信息为“bash: conda: command not found”。我想知道原因。


在你的 Git Bash 中输入 echo $PATH,然后仔细检查你刚添加的路径是否已经被 Git Bash 所识别。例如,我的 Git Bash 显示如下内容: /c/Anaconda3/condabin:/c/Anaconda3/Scripts:/c/Anaconda3: - khashashin
8个回答

48

要在gitbash上运行conda,您需要将其添加到路径中。很多时候我看到这是默认完成的-就像本次研讨会的设置所示。如果没有这样做,就像您的情况一样,那么可以通过运行以下命令直接运行它们的设置:

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

运行上述命令后,您应该能够运行conda命令。

要永久保留此设置,可以在您的.profile.bashrc文件中添加此行(了解更多有关它们之间差异的信息)。 这样做的一种方式是运行以下命令:

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 文件。


2
注意:如果存在 ~/.bashrc~/.bash_login,则可能不会读取 ~/.profile - DannyDannyDanny
1
我在这里遇到了同样的问题。我已经按照这些指示操作,但是我收到一个新的错误: conda bash: C:\bld\conda_1565126647711_h_env\Scripts\conda.exe:没有那个文件或目录。我不知道为什么路径是:C:\bld\conda_1565126647711_h_env\!当我进一步查看时,我注意到'conda activate' bash脚本位于~\Anaconda3\Scripts\activate,并且在脚本内我有这个变量:_CONDA_ROOT="C:\bld\conda_1565126647711_h_env"!我觉得它与虚拟环境有问题。我尝试将该路径修改为我的实际Anaconda路径,但不起作用,有任何想法吗? - TwinPenguins
8
我认为我之前的解决方法可能已经不再适用了。如果你安装了一个新版本的Anaconda,并在安装过程中勾选了“将anaconda添加到我的PATH环境变量”,那么我相信你可以从git bash终端运行conda init bash命令。这将在你的.bash_profile文件中创建一个条目。在你的情况下,我认为你的conda安装路径和环境路径之间的差异可能会导致问题。你的“虚拟环境”是指anaconda环境吗? - dvdgc13
请注意 "\ " 的技巧也适用于 echo 命令中包含带有空格的路径!无需使用 sed 命令。 - AlexGeorg

18

首先,你需要进入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
< p > (或者,像 ./conda init 这样输入 ./

或类似的内容

conda init bash
< p > (或 < code > ./conda init bash ) < p > 如果您正在使用 Mac OS:
conda init zsh

会很好用。

如果你想使用不同的shell,

conda init [shell_name]

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

使用conda init --help获取更多信息。


我不明白这怎么可能行得通。原帖中说“conda”命令找不到。 - Ben Farmer
2
你只需要找到 conda 可执行文件所在的位置并使用完整路径即可。因此,在这种情况下,它是 \C\Anaconda3\Scripts\conda init bash - Nzbuu
3
逐步操作:
  • 切换到 ../miniconda3/Scripts/
  • 在文件夹中打开 git bash
  • ./conda init bash
  • 这将更改 .bash_profile 文件。
- icemtel

12

加入 @dvdgc13。在我的情况下,我通过添加

来解决问题。

. C:/Users/user/Anaconda3/etc/profile.d/conda.sh

到我的.bash_profile

输入图像描述


2
我试图做和你一样的事情,但是我没能让它工作。starriet 给出了可行的答案,但我将使其更容易为每个人阅读。你可以直接通过资源管理器打开命令窗口,而不必费力寻找路径。
  1. 使用 Windows 资源管理器找到您的 Anaconda3 文件夹,这可能是用户安装,其中应该在您的用户文件夹中,例如“C:/Users/your_name/Anaconda3”。

  2. Shift + 右键单击资源管理器,然后单击“在此处打开 PowerShell 窗口”。注意:您也可以单击“Git Bash”,然后打开 Bash,这对命令没有任何影响。

Shift+Right Click

  1. 在PowerShell窗口中键入"conda init"。即使您没有正确的路径,这也可以工作,因为命令行会在当前目录中查找正确的exe。如果在资源管理器中向下滚动,您应该能够找到它。

我的PowerShell窗口可能与您的略有不同,因为我的提示符不同,但这没有任何影响。 PowerShell窗口

  1. 退出PowerShell并打开Git Bash。键入"conda"以确认是否正常工作。

0
在我的情况下,conda 命令可以在 cmd 中识别,但不能在 bash 中识别。我在 cmd 中使用了 conda init bash 而不是简单的 conda init
这个命令修改了 .bash_profile 文件,该文件位于我的 C:\Users\xyz 目录中,并在其中添加了以下代码。
# >>> conda initialize >>>

# !! Contents within this block are managed by 'conda init' !!
eval "$('/C/Users/Saifullah/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
# <<< conda initialize <<<

现在它也可以在Bash终端中运行。


0

我尝试了很多方法,但它们都不完整,直到我运行了以下命令:

  1. 前往anaconda3的路径是C:\Users\USER_NAME\anaconda3,在该路径下打开命令行并输入以下内容:(YOUR_PATH = C:\Users\USER_NAME\anaconda3)

    echo 'export PATH="$PATH:[YOUR_PATH]:[YOUR_PATH]/Scripts"' >> .bashrc
    echo 'alias python="winpty python.exe"' >> .bashrc
    
  2. 如果已经打开了Git bash,请关闭并重新打开,然后输入以下内容以确保anaconda和python可以正常工作:

    conda --version 
    python -- version 
    
如果你看到版本已经被打印出来,那么一切都运行得很好。

0
对我来说,上述的方法都没有起作用,但是我通过修复路径让它能够工作。在 .bash_profile 文件中插入了以下路径: /cygdrive/c/Users/Username/Anaconda3/Scripts/conda.exe 我将其更改为 C:\Users\Username\Anaconda3\Scripts\conda.exe,然后 bash 就可以找到 conda 了。

0

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

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

问题明确说明这是关于Windows的。但我相信这仍然可以帮助一些迷失的Mac用户 ;) - Deproblemify

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接