anaconda - Why Conda cannot call correct Python version after activating the environment?

ID : 131397

viewed : 7

Tags : pythonanacondapython

Top 5 Answer for anaconda - Why Conda cannot call correct Python version after activating the environment?

vote vote

93

I had the exact same problem. Not sure what I did to get into that mess, but I solved it with a simple:

conda deactivate conda activate foo_env 

(If you have activated multiple environments, you may need to run conda deactivate multiple times.)

vote vote

82

TLDR;

# deactivate Conda environment # (until even base environment is deactivated) conda deactivate # activate your environment conda activate your_env_name_goes_here 

try this

Activate an environment A and then check the location of Python package by using the command below.

python -c "import sys; print(sys.executable)"

Activate another environment, let's say environment B and rerun the above python command. If conda isn't using the correct Python version then most likely running the above command will print the same path in both environments.

My conda installation wasn't using the correct version because I had activated my environment on top of the conda base environment.

Deactivating the base environment and then activating the environment I wanted, worked.

vote vote

75

Landed here with this same issue, but by moving out of the anaconda executable directory, the correct python was called. I was in a directory that contained the python executable that was installed with Anaconda2.

Example:

(py35) C:\Anaconda>python --version Python 2.7.11 :: Anaconda 4.0.0 (64-bit)  (py35) C:\Anaconda>cd ..  (py35) C:\>python --version Python 3.5.2 :: Anaconda 4.2.0 (64-bit)  (py35) C:\> 
vote vote

65

So in my situation, a intern before me append anaconda path to path variable in /etc/profile, which override my conda setting in ~/.bashrc, simply removing those line in /etc/profile can help.

vote vote

59

This only happens when you create an environment without specifying any additional packages. I am using Conda 4.10.3

Refer https://github.com/conda/conda/issues/9392#issuecomment-696897058

The following comment from the above link worked in my case:

I noticed that it works if i install a packet when i create the environment.

antony@antony-fedora : ~/Workspace/tmp : which python /usr/bin/python antony@antony-fedora : ~/Workspace/tmp : conda create --name my_env  antony@antony-fedora : ~/Workspace/tmp : conda activate my_env  (my_env) antony@antony-fedora : ~/Workspace/tmp : which python /usr/bin/python  (my_env) antony@antony-fedora : ~/Workspace/tmp : conda create --name my_env pip   (my_env) antony@antony-fedora : ~/Workspace/tmp : conda activate my_env  (my_env) antony@antony-fedora : ~/Workspace/tmp : which python ~/anaconda3/envs/my_env/bin/python 

Also, recommend adding conda deactivate to the end of your .zshenv or .bash_profile

Top 3 video Explaining anaconda - Why Conda cannot call correct Python version after activating the environment?

Related QUESTION?