Anaconda not found in ZSh?

75,558

Solution 1

I had a similar issue.

I checked in my .profile, .bashrc, and .bash_profile dot files in order to find any PATH information that I could copy over into my .zshrc file. Sure enough:

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

After running source ~/.zshrc with those lines added, I could fire up my jupyter notebook server.

Solution 2

Altough I cannot test it on a Mac, (I have a Linux Zsh installed) this should work for you as well: Just execute

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

and restart your zsh shell. The init command will change your ~/.zshrc file accordingly, setting your PATH correctly and slightly change the PS1 (which is was most answers here do manually...).

Solution 3

Since conda 4.4.0 (released 2017-12-20), the recommended way to add conda to your PATH has changed. Instead of the approach described in Jonathan's answer, this should be done using the conda.sh script in the etc/profile.d/ folder of your conda installation. After that you can activate the base environment. More information on why this is the case can be found in the conda changelog.

I needed to add the following lines to my .zshrc:

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

This assumes that (mini)conda was installed with default parameters, i.e. into the home folder.

Solution 4

This worked for me on my macOS

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


Open the .bash_profile file using:

open ~/.bash_profile

There’s a block of code the anaconda installer added to the end of the file. Copy that.

Mine looks something like this:

# 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 <<<

Now open your .zshrc file:

open ~/.zshrc

paste the copied code at the end and save it. Then RUN the below command,

source ~/.zshrc

When on iterm2 or the terminal, you should see a (base) pop up in there

Solution 5

Following up on @m00am's answer, as of Anaconda 4.5.11, the bash code Anaconda adds to .bashrc seems to run perfectly well also in zsh, so copying that into your .zshrc works well. In my case, the code looked like this:

# >>> 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 <<<
Share:
75,558
marz
Author by

marz

Updated on July 09, 2022

Comments

  • marz
    marz almost 2 years

    I installed Anaconda via command line. The bash file.

    If Im in bash, I can open and use anaconda, like notebooks, ipython, etc.

    If I change my shell to ZSH, all the anaconda commands appear like "not found".

    How I can make it work in zsh?

    I use a Mac with OSx Sierra.

    Thanks in advance,