Zsh: 找不到Conda/Pip安装命令

154

我安装了Anaconda,一切都正常。在安装后,我决定切换到oh-my-zsh。现在我遇到了以下问题:

zsh: command not found: conda

尝试使用 pipconda 安装时

echo $ZSH_VERSION

5.0.5

我已经添加到了我的zshenv.sh

export PATH ="/Users/Dz/anaconda/bin:$PATH"

我错过了什么?


5
我认为这是你回答这个问题所需要的全部内容:source ~/miniconda/bin/activate 然后运行 conda init zsh,假设你已经安装了 conda。如果没有,请查看此链接:https://dev59.com/Z1UM5IYBdhLWcg3wQOXw - Charlie Parker
使用与@Charlie建议的相同命令设置源。唯一更改anaconda安装的是使用此命令:source ~/opt/anaconda3/bin/activate,路径/opt/anaconda3应该是您安装anaconda的位置,请检查并修改。 - Abhijit Manepatil
28个回答

195

我发现了一个简单的方法,只需按照以下步骤操作:

  1. 在终端中输入 vim ~/.zshrc 图片描述
  2. source ~/.bash_profile 添加到 .zshrc 文件中 图片描述
  3. 然后在终端中输入 source ~/.zshrc 图片描述

恭喜你成功啦!㊗️


1
“source ~/.zshrc” 是不够的,确实需要添加“source ~/.bash_profile”,所以谢谢! - hzitoun
4
这对我在2019年的Macbook Pro上,且安装了macOS Catalina系统有效,谢谢。 - Meh
18
这个在2020年已经不再适用了 - 将以下内容添加到~/.zshrc文件的第一行 export PATH="/usr/local/anaconda3/bin:$PATH" - nkirit
7
这并不是最干净的解决方案。有更好的解决方案,比如@edwardyaho提出的或者我在下面提供的方案。 - Ben2209
1
@seeker_after_truth 当你实际上不使用bash而是zsh时,获取.bash_profile文件是一种解决方法。Conda提供了一个命令,可以直接在.zshrc中插入正确的代码。请参见下面的答案。 - Ben2209
显示剩余9条评论

179

如果您使用的是macOS Catalina操作系统,则默认shell为zsh。您需要运行source /bin/activate命令,然后再运行conda init zsh命令。 例如:我安装了Anaconda Python 3.7版本,请键入echo $ USER查找用户名。

source /Users/my_username/opt/anaconda3/bin/activate

跟随之

conda init zsh

或(对于 Bash shell)

conda init

检查工作:

conda list

错误将被修复。


7
如果您像我一样安装了Anaconda以供所有用户使用,则可以使用 source /opt/anaconda3/bin/activate 命令来激活Anaconda。注意,翻译时已尽可能保持原文意思不变并使语言更加通俗易懂。 - matthewpliddy
3
非常感谢!这在搭载BigSur 11.6系统的M1 Mac上完美运行。 - Tack_Tau
7
执行上述命令后,当打开新的zsh窗口时,你会看到(base)出现在前面。想要去掉这个提示,可以执行命令conda config --set auto_activate_base false。然后打开新的zsh窗口,尝试运行conda list命令。 - user1207289
1
使用Homebrew进行安装:source /opt/homebrew/anaconda3/bin/activate - Txmx
如何自动运行source /Users/x/anaconda3/bin/activate?这对我来说是有效的,但是每次打开新的终端窗口都要这样做有点繁琐...尝试将其添加到~./zshrc中,但没有起作用。 - undefined
显示剩余5条评论

54
截至2018年11月4日,以下所有方法均可使用,使用以下命令安装zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

不建议在zsh中使用brew安装:
brew install zsh zsh-completions 

P.S:尝试使用brew和以root身份安装brew都不是明智的做法,因为涉及到安全问题,所有相关操作都需要在sudo下启动,所以最好使用curl或者wget。要让conda在已安装oh-my-zsh的OS X中工作,需要添加以下路径即可。
找到python路径,以确定是否安装了Anaconda2或者Anaconda3:where python 或者 which python 将得到类似输出的结果:
/usr/bin/python
/Users/"username"/anaconda/bin/python # # previous path for anaconda
/Users/"username"/anaconda3/bin/python # # previous path for anaconda3
/Users/"username"/opt/anaconda/bin/python # # for current path anaconda
/Users/"username"/opt/anaconda3/bin/python # # for current path for anaconda3

Anaconda的一行配置命令:

echo -e '# >>> anaconda conda config >>> \nPATH="$HOME/opt/anaconda3/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc && conda init

用于在 Apple Silicon 上使用 miniconda 进行一行配置命令(M1 & M2),作为 MPS 加速安装的一部分 tensorflow-metal, pytorch):

请注意:Anaconda不建议按照以下方式手动添加路径: 我应该将Anaconda添加到macOS或Linux PATH中吗? 我们不建议手动将Anaconda添加到PATH中。在安装过程中,您将被询问“是否希望安装程序通过运行conda init来初始化Anaconda3?”我们建议选择“是”。如果您选择“否”,那么conda将不会修改您的shell脚本。为了在安装过程完成后进行初始化,请先运行source /bin/activate,然后再运行conda init。
Note:

Replace <path-to-anaconda> with the actual path of your installed Anaconda file.

默认安装Anaconda的路径是什么?
如果您接受在“默认路径”上安装Anaconda的选项,则Anaconda将安装在您的用户主目录中:
- Windows 10:C:\Users\\Anaconda3\ - macOS:/Users//anaconda3(shell安装),~/opt(图形化安装)。请参见在macOS上安装。 - Linux:/home//anaconda3
如果您的用户名包含空格,这在Windows系统上很常见,您不应接受默认路径。请参见在Windows上应该在哪个文件夹中安装Anaconda?
我已经安装了Python。我可以安装Anaconda吗?
你不需要在安装Anaconda之前卸载其他Python安装或软件包。即使你已经有了系统Python,也不需要卸载其他源(如macOS Homebrew包管理器)安装的Python和全局安装的pip软件包(如pandas和NumPy),也不需要“卸载、删除或更改”它们。
正常安装Anaconda或Miniconda即可,无需设置PYTHONPATH环境变量。
“查看conda安装的Python是否在PATH变量中:”
- 在macOS和Linux上,打开终端并运行echo $ PATH。 - 在Windows上,打开Anaconda提示符并运行echo% PATH%。
“查看当前设置为默认值的Python安装:”
- 在macOS和Linux上,打开终端并运行which python。 - 在Windows上,打开Anaconda提示符并运行where python。
要查看当前conda环境中安装的软件包及其版本号,请在终端窗口或Anaconda提示符中运行conda list
有关手动添加详细信息,请参见下面的信息: 查找您的Anaconda Python解释器路径 vi ~/.zshrcgedit ~/.zshrc
Anaconda已更新,使用类似于Anaconda Enterprise版的路径:/opt/... @update Dec 2021: 对于Anaconda3,在字段# User configuration中添加:
PATH="$HOME/opt/anaconda3/bin:$PATH"

对于Anaconda: 在字段# 用户配置中添加:
`PATH="$HOME/anaconda/bin:$PATH"`

在Anaconda2的字段# 用户配置中添加:
  `PATH="$HOME/anaconda/bin:$PATH"`

在Anaconda3的#用户配置字段中添加:
`PATH="$HOME/anaconda3/bin:$PATH"`

或将“username”替换为您的用户名:
`PATH="/Users/"username"/anaconda3/bin:$PATH`

根据在macOS上安装的文档,我们将~/.zshrc添加进去,而不是.bashrc或.bash_profile
  • ~/.zshrc中添加export PATH="/<path to anaconda>/bin:$PATH"

  • 或设置路径变量:export PATH="/<path to anaconda>/bin:$PATH"

请用实际的Anaconda安装路径替换"<path to anaconda>"

这些方法同样适用于Ubuntu/Centos7/MacOS(完成更改后只需关闭/重置终端),然后键入conda进行测试。


根据 @truongnm 的评论,在添加路径后,请执行以下操作:“我将路径从我的 bash_profile 粘贴过来,不要忘记执行 source ~/.zshrc”。

3
我将路径从我的bash_profile中复制粘贴,别忘了执行source ~/.zshrc。 - truongnm
1
运行命令“source ~/.zshrc”绝对有帮助! - wi3o
你为什么不运行.bach_profile - Charlie Parker
因为问题被标记为zsh... - n1tk

30

看起来我的.zshrc文件中的PATH出了问题。

打开它并添加:

export PATH="$PATH;/Users/Dz/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Dz/.rvm/bin"

天啊!这就解释了一切。我怎么会错过那个小分号呢?修改后:

export PATH="$PATH:/Users/Dz/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Dz/.rvm/bin"

source ~/.zshrc
echo $HOME
echo $PATH

我们现在没问题了。


你为什么不运行.bach_profile - Charlie Parker

27
安装程序会自动将正确的 PATH 写入 ~/.bash_profile 文件中。将该行复制到您的 ~/.zshrc 文件中,并使用 source ~/.zshrc 命令运行,即可开始使用。

1
谢谢,将在/.bash_profile中复制的PATH路径添加到/.zshrc中对我有用。 - Joel Colucci
这对我有用。谢谢。只是为了澄清:我复制了几行由Anaconda安装的.bash_profile中的内容,并将其放入.zshrc中。之后一切都按预期工作了。 - Aus_10
在我的basrc文件中,有这样一行代码:[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh - Kearney
这个答案非常棒。 - thegreatcoder

17

2021年针对macOS 11(Big Sur)的答案:

安装Anaconda后,运行:

source /opt/anaconda3/bin/activate
conda init zsh

然后关闭并重新打开终端窗口,shell提示符应该有一个(base)前缀。

注意:我在网上找到了许多文章说要更新PATH变量, 但是Anaconda实际上建议不这样做,而是运行上面提到的两个命令, 他们在官方文档中说明。

来源


完美解决方案 - Nurseyit Tursunkulov
谢谢,这对我来说是最简洁的解决方案! - ebuzz168
也适用于Linux Manjaro,谢谢。 - horse
一样的,运行得很好,谢谢! - Julie
这应该是最高得分的解决方案。 - undefined

14
你需要执行以下步骤:
1. /home/$USER/anaconda/bin/conda init zsh (如果使用miniconda,则为/home/$USER/miniconda3/bin/conda init zsh
2. source ~/.zshrc(或重新打开终端)

为什么这个答案比其他答案更好?

  • 你不应该重复发明轮子:在conda中已经有命令来激活环境,你只需要使用完整路径调用conda即可
  • 也许~/.bash_profile不存在(我的情况是,只存在~/.bashrc
  • 你可以在~/.bash_profile中设置bash特定的配置
  • 无需手动粘贴和导出任何路径

14

我在安装Anaconda分发版后,在Catalina OSX上遇到了这个问题。

此解决方案对我在2019年10月19日的macOS Catalina上有效

步骤1. 检查您的主文件夹中是否有.bash_profile文件,如果没有:

  • 进入终端
  • 键入cd ~/ 进入您的主文件夹(如果您不在主文件夹中)
  • 键入touch .bash_profile 在您的主文件夹下创建新文件

步骤2. 检查您的主文件夹中是否有文件.zshrc,如果没有:

  • 进入终端并键入nano ~/.zshrc

  • 在新创建的.zshrc文件中键入以下行:source ~/.bash_profile

  • 现在要在nano中保存文件,请按ctrl+X.

  • 它会提示"Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES)?"。只需键入Y

步骤3. 检查您的主文件夹中是否已创建.bash_profile和.zshrc文件。如果是,请在终端中键入source ~/.zshrc


11

这是我所需添加的全部内容,以使Anaconda能在zsh中正常工作。

echo ". /anaconda3/etc/profile.d/conda.sh" >> ~/.zshrc
source ~/.zshrc

10

如果在 Mac 上出现此问题,则输入以下命令:

source <path to conda>/bin/activate
conda init zsh

这将相应地修改你的zshrc文件(如果不存在则创建)。

此解决方案来自官方anaconda文档


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