【问题标题】:Anaconda not found in ZSh?在 ZSh 中找不到 Anaconda?
【发布时间】:2017-03-15 04:56:30
【问题描述】:

我通过命令行安装了 Anaconda。 bash 文件。

如果我在 bash 中,我可以打开和使用 anaconda,比如 notebooks、ipython 等。

如果我将 shell 更改为 ZSH,所有 anaconda 命令都会显示为“未找到”。

如何让它在 zsh 中工作?

我使用装有 OSx Sierra 的 Mac。

提前致谢,

【问题讨论】:

    标签: python macos ipython anaconda zsh


    【解决方案1】:

    虽然我无法在 Mac 上测试它,(我安装了 Linux Zsh)这应该也适合你:只需执行

    /(your conda installation path)/bin/conda init zsh
    

    然后重新启动你的 zsh shell。 init 命令将相应地更改您的 ~/.zshrc 文件,正确设置您的 PATH 并稍微更改 PS1(这是这里的大多数答案手动执行...)。

    【讨论】:

    • 我可以确认此解决方案适用于 MacOS。在我看来,这是最简单、最干净的解决方案
    • 这实际上是他们的docs 中推荐的内容,只需将fish 替换为zsh 或您想要的shell。
    • 似乎 anaconda 现在将激活并显示默认环境“base”,我只想将 anaconda bin 放入我的路径中。
    • 在 macOS 中的工作就像魅力一样。最好和最干净的解决方案
    • 这是迄今为止最好的解决方案
    【解决方案2】:

    我也有类似的问题。

    我签入了我的 .profile.bashrc.bash_profile 点文件,以便找到可以复制到我的 .zshrc 文件中的任何 PATH 信息。果然:

    # added by Miniconda3 4.2.12 installer
    export PATH="/Users/username/miniconda3/bin:$PATH"
    

    运行 source ~/.zshrc 并添加这些行后,我可以启动我的 jupyter 笔记本服务器。

    【讨论】:

    • @marz 作为临时解决方案,您可以通过输入source .bashrc 来激活 bash 环境,然后通过输入source zshrc 命令返回“oh my zsh”环境。之后 conda 将完美运行。或者您可以触发单个命令 source .bashrc && source .zshrc
    • 在 MacOS 上,这对我有用,方法是将你必须的行添加到我的 ~/.bash_profile,即使它最初不存在。
    【解决方案3】:

    conda 4.4.0(2017 年 12 月 20 日发布)以来,将 conda 添加到 PATH 的推荐方法已更改。而不是in Jonathan's answer 描述的方法,这应该使用您的 conda 安装的etc/profile.d/ 文件夹中的conda.sh 脚本来完成。之后,您可以激活基础环境。有关为什么会这样的更多信息,请参阅 conda changelog

    我需要将以下行添加到我的.zshrc

    .  ~/miniconda3/etc/profile.d/conda.sh
    conda activate base
    

    这假定 (mini)conda 是使用默认参数安装的,即安装到主文件夹中。

    【讨论】:

      【解决方案4】:

      这在我的 macOS 上对我有用

      https://medium.com/@sumitmenon/how-to-get-anaconda-to-work-with-oh-my-zsh-on-mac-os-x-7c1c7247d896


      使用以下命令打开 .bash_profile 文件:

      open ~/.bash_profile
      

      anaconda 安装程序在文件末尾添加了一段代码。复制那个。

      我的看起来像这样:

      # added by Anaconda3 5.3.0 installer
      # >>> conda init >>>
      # !! Contents within this block are managed by 'conda init' !!
      __conda_setup="$(CONDA_REPORT_ERRORS=false '/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
      if [ $? -eq 0 ]; then
          \eval "$__conda_setup"
      else
          if [ -f "/anaconda3/etc/profile.d/conda.sh" ]; then
              . "/anaconda3/etc/profile.d/conda.sh"
              CONDA_CHANGEPS1=false conda activate base
          else
              \export PATH="/anaconda3/bin:$PATH"
          fi
      fi
      unset __conda_setup
      # <<< conda init <<<
      

      现在打开你的 .zshrc 文件:

      open ~/.zshrc
      

      将复制的代码粘贴到最后并保存。然后运行下面的命令,

      source ~/.zshrc
      

      在 iterm2 或终端上时,您应该会看到 (base) 在那里弹出

      【讨论】:

      • 也为我工作。
      【解决方案5】:

      跟进@m00am 的回答,从 Anaconda 4.5.11 开始,Anaconda 添加到.bashrcbash 代码似乎在zsh 中也运行得很好,因此将其复制到您的.zshrc 中效果很好。就我而言,代码如下所示:

      # >>> conda init >>>
      # !! Contents within this block are managed by 'conda init' !!
      __conda_setup="$(CONDA_REPORT_ERRORS=false '/home/my-account/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
      if [ $? -eq 0 ]; then
          \eval "$__conda_setup"
      else
          if [ -f "/home/my-account/anaconda3/etc/profile.d/conda.sh" ]; then
              . "/home/my-account/anaconda3/etc/profile.d/conda.sh"
              CONDA_CHANGEPS1=false conda activate base
          else
              \export PATH="/home/my-account/anaconda3/bin:$PATH"
          fi
      fi
      unset __conda_setup
      # <<< conda init <<<
      

      【讨论】:

        【解决方案6】:

        如果您在将 macOS 从 Sierra 升级到 Catalina 之后将终端从 bash 更改为 zsh 后偶然发现,那么对 Sebastian Thees 的回答稍作改动即可完成这项工作。

        首先,切换回 bash

        chsh -s /bin/bash
        

        您的旧 conda 环境都非常活跃。然后,在 zsh 上激活 conda

        conda init zsh
        

        最后用

        切换回zsh
        chsh -s /bin/zsh
        

        以这种方式跟踪您的 conda 安装文件夹无需大惊小怪,这对于像我这样的记忆力不足的人来说是一个加分项。

        【讨论】:

        • 我认为这会更好投票,它不依赖于手动编辑初始化文件......在我的情况下,我只是直接唤起了/bin/bash,使用'conda init zsh'并关闭/reopening 终端已经完成了所有的魔法。谢谢。
        • 很高兴有帮助!
        • 如果你明确地调用你的 conda,你可以避免 shell 切换的事情。我尝试了~/anaconda3/bin/conda init zsh,它对我有用。
        【解决方案7】:

        此解决方案适用于 macOS Mojave

        如果您使用 Anaconda 的 2019.03 版本,您可以更新您的 .zshrc 文件

        # Anaconda
        . /anaconda3/etc/profile.d/conda.sh
        conda activate base
        

        保存文件后不要忘记运行source ~/.zshrc

        升级到 Catalina 后

        如果您安装新的 Anaconda3 2019.07,您可以使用以下解决方案。

        open ~/.bash_profile
        

        复制以# added by Anaconda3 2019.07 installer 开头并以# &lt;&lt;&lt; conda init &lt;&lt;&lt; 结尾的行并粘贴到.zshrc。然后运行source ~/.zshrc

        【讨论】:

        • 这是为Anaconda >= 4.4做事的正确方法
        • 我得到:toly@Tolys-MacBook-Pro-4 ~ % source ~/.zshrc source:没有这样的文件或目录:/Users/toly/.zshrc。我该怎么办?
        • 你的机器上是否安装了 oh-my-zsh github.com/robbyrussell/oh-my-zsh
        • 当我将 anaconda 块复制到 .zshrc 并运行 source ~/.zshrc 时,我的终端更改为 (base),因为它似乎激活了名为 base 的默认 anaconda 环境。我要做的就是能够通过 zsh 终端运行 jupyter。我通过在我的 .zshrc 中添加 "export PATH="/Users/USERNAME/opt/anaconda3/bin:$PATH"" 来修复它
        【解决方案8】:

        直接来自 Anaconda Installation Documentation:

        如果您使用的是 macOS Catalina,则新的默认 shell 是 zsh。您将需要运行:

        source &lt;path to conda&gt;/bin/activate

        接着是:

        conda init zsh

        不幸的是,由于某种原因,这仅在命令行安装部分中提及。如果你是从 GUI 安装的,你仍然需要这样做。

        【讨论】:

          【解决方案9】:

          来自他们的文档(这对我有用):如果您使用的是 macOS Catalina,则新的默认 shell 是 zsh。您将需要运行 source &lt;path to conda&gt;/bin/activate,然后运行 ​​conda init zsh

          对于我的特定安装(通过双击安装程序完成),这最终是source /opt/anaconda3/bin/activate

          【讨论】:

            【解决方案10】:

            您需要为 ZSH 环境设置路径变量。执行此操作的简单方法是在 .zshrc 文件中设置路径变量以包含 Anaconda 的位置。要获取 bash 终端中的路径,请键入 which anaconda

            你也可以从http://unix.stackexchange.comcheck这个出来

            Zsh/Bash startup files loading order (.bashrc, .zshrc etc.)

            【讨论】:

              【解决方案11】:

              在我的原始配置文件 .bash_profile 中,它看起来像这样:

              ### added by Anaconda3 4.4.0 installer
              export PATH="/Users/myname/anaconda/bin:$PATH"
              

              现在我打开文件.zshrc,将上面的句子添加到它上面,现在一切正常。

              【讨论】:

                【解决方案12】:

                我在 在 ubuntu 中安装 anaconda3 后遇到了类似的问题。

                我就是这样解决的:

                1) 我改成 bash,anaconda 可以工作了

                2) 我改成 zsh,anaconda 工作了。我不知道为什么,但我想你可以试试。

                【讨论】:

                  【解决方案13】:

                  在.bashrc中

                  zsh
                  

                  在 .zshrc 中

                  conda activate base
                  

                  所有出口都应该解决

                  仅当您不使用 chsh

                  【讨论】:

                    猜你喜欢
                    • 2022-09-29
                    • 2020-12-04
                    • 2021-12-17
                    • 2019-11-25
                    • 2016-08-25
                    • 2019-02-06
                    • 2017-11-18
                    • 2018-05-04
                    • 1970-01-01
                    相关资源
                    最近更新 更多