Anaconda not found in ZSh?
Asked Answered
P

14

65

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.

Pneumatics answered 2/11, 2016 at 0:1 Comment(0)
C
51

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.

Cockeye answered 24/10, 2017 at 4:13 Comment(2)
@Pneumatics as temporary solution, you could active bash environment by typing source .bashrc and then go back to "oh my zsh" environment by typing source zshrc command. after that conda will work perfect. or you can fire single commnad source .bashrc && source .zshrcPurl
on MacOS, this worked for me by adding the line you have to my ~/.bash_profile, even though it wasn't there in the first place.Penmanship
A
156

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...).

Assuasive answered 1/7, 2019 at 12:2 Comment(12)
I can confirm that this solution works in MacOS. This is in my opinion the easiest and cleanest solutionPropagable
That's actually what is recommended in their docs just replace fish with zsh or your desired shell.Aracelis
It seems that anaconda will now activate and show the default environment "base", all i wanted was to get the anaconda bin into my path.Superintend
Worked for me. My anaconda3 installation was in ~/opt/anaconda3Pontius
Worked like charm in macOS. best and cleanest solutionCorium
@Superintend I also simply wanted to have conda as another option to my pip installation in /Library/Frameworks - so, I had to add aliases to .zshrcAminopyrine
actually, if one wants conda as a second option to another installation, using conda config --set auto_activate_base false turns off the auto activate, thus when you open a new shell, conda distribution is not active by defaultAminopyrine
This is the best solution so farVeranda
conda init --help shows you could do a conda init --all -d to do a dry run on seeing what shells it would try to update, and conda init --all to actually do the work.Dedra
@Pneumatics this should be the 2022's accepted answer...Wattage
After sifting through countless failed solutions, this one finally fixed the problem for me. Thank you.Yucca
I agree with @JPCF: this is the right way for 2022+. Additionally, if you're on an m1 mac and still having trouble, see this threadChesty
C
51

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.

Cockeye answered 24/10, 2017 at 4:13 Comment(2)
@Pneumatics as temporary solution, you could active bash environment by typing source .bashrc and then go back to "oh my zsh" environment by typing source zshrc command. after that conda will work perfect. or you can fire single commnad source .bashrc && source .zshrcPurl
on MacOS, this worked for me by adding the line you have to my ~/.bash_profile, even though it wasn't there in the first place.Penmanship
P
20

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

Prier answered 17/3, 2019 at 3:17 Comment(1)
Worked for me as well.Acolyte
P
15

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.

Percy answered 26/8, 2018 at 19:28 Comment(0)
D
11

If you stumbled here after that you changed your terminal from bash to zsh because you upgraded macOS from Sierra to Catalina, a slight change from Sebastian Thees's answer will make the job.

First, switch back to bash with

chsh -s /bin/bash

where your old conda environments are all nicely active. Then, activate conda on zsh with

conda init zsh

and finally switch back to zsh with

chsh -s /bin/zsh

No fuss in tracking your conda installation folder this way, which is a plus for a memory-less person like myself.

Dukey answered 11/12, 2020 at 5:30 Comment(3)
I think this would be better voted, it doesn't rely on manual editing init files... In my case, I just evoked /bin/bash directly, used 'conda init zsh' and closing/reopening terminal have done all magic. Thank you.Catalonia
Glad that it was of help!Adjacency
You can avoid the shell switching thing if you call your conda explicitly. I tried a ~/anaconda3/bin/conda init zsh and it worked for me.Dedra
T
10

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 <<<
Tophet answered 29/11, 2018 at 9:28 Comment(0)
D
10

Directly from the Anaconda Installation Documentation:

If you are on macOS Catalina, the new default shell is zsh. You will instead need to run:

source <path to conda>/bin/activate

followed by:

conda init zsh

Unfortunately for some reason, this is only mentioned in the command line install section. If you had installed from GUI you still need to do this.

Discommon answered 13/3, 2021 at 0:51 Comment(0)
P
5

From their docs (This worked for me): If you are on macOS Catalina, the new default shell is zsh. You will instead need to run source <path to conda>/bin/activate followed by conda init zsh.

For my specific installation (Done by double clicking the installer), this ended up being source /opt/anaconda3/bin/activate

Pharmacognosy answered 16/7, 2020 at 0:1 Comment(0)
R
4

This solution worked for me on macOS Mojave

If you use version 2019.03 of Anaconda you can update your .zshrc file with

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

after saving file don't forget to run source ~/.zshrc.

After upgrading to Catalina

If you install a new Anaconda3 2019.07 you can use solution below.

open ~/.bash_profile

Copy the line starts with # added by Anaconda3 2019.07 installer and ends with # <<< conda init <<< and paste into .zshrc. Then run source ~/.zshrc.

Rihana answered 4/5, 2019 at 12:9 Comment(4)
this is the correct way to do things for Anaconda >= 4.4Duley
I got: toly@Tolys-MacBook-Pro-4 ~ % source ~/.zshrc source: no such file or directory: /Users/toly/.zshrc. What should I do?Theater
Do you have oh-my-zsh installed on your machine github.com/robbyrussell/oh-my-zshRihana
When i copy the anaconda block into .zshrc, and run source ~/.zshrc my terminal changes to (base) as it seems to activate the default anaconda environment called base. All I'm trying to do is be able to run jupyter via zsh terminal. I fixed it by changing adding "export PATH="/Users/USERNAME/opt/anaconda3/bin:$PATH"" in my .zshrcSuperintend
R
1

You need to set your path variable for the ZSH environment. The easy way to do this would be to set your path variable in your .zshrc file to include the location of Anaconda. To get the path in your bash terminal type which anaconda

You can also check this out from http://unix.stackexchange.com

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

Redletter answered 2/11, 2016 at 0:10 Comment(0)
B
0

in my original profile, which is .bash_profile, it looks like this:

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

and now i open the file .zshrc, add the sentence above to it, it goes all right now.

Bedabble answered 23/3, 2019 at 10:41 Comment(0)
S
0

I had a similar issue after I installed anaconda3 in ubuntu.

This is how I solved it:

1) I changed to bash and anaconda can work

2) I changed to zsh, and anaconda works. I don't know why, but I think you can try.

Sag answered 15/5, 2019 at 4:55 Comment(0)
P
0

In .bashrc

zsh

In .zshrc

conda activate base

all exports should be resolved

only if you do not use chsh

Peralta answered 27/10, 2019 at 8:39 Comment(0)
M
0

Had this problem while installing conda with brew on mac M1/M2. adding paths in the ~/.zshrc didint work either, so I uninstalled conda with brew install anaconda and then installed conda from the official website and it worked. No need to add any env vars or any thing in this approach.

Machination answered 14/7, 2023 at 21:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.