为什么 Conda 激活环境后无法调用正确的 Python 版本?

2022-01-10 00:00:00 python anaconda

问题描述

我在Linux下有如下conda环境:

I have the following conda environment under Linux:

$ conda info -e
# conda environments:
#
py33                     /u21/coyotito/.anaconda/envs/py33
root                  *  /u21/coyotito/.anaconda

py33 是用这个命令创建的:

And py33 is created with this command:

$ conda create -n py33 python=3.3 anaconda

问题是当我激活 py33 时它仍然无法调用 Python 3.3 版本.

The problem is when I activate py33 it still cannot call Python version 3.3.

[coyotito@pearl ~]$ source activate py33
(coyotito)[coyotito@pearl ~]$ python --version
Python 2.7.10 :: Anaconda 2.1.0 (64-bit)
(coyotito)[coyotito@pearl ~]$ conda info -e
# conda environments:
#
py33                     /u21/coyotito/.anaconda/envs/py33
root                  *  /u21/coyotito/.anaconda

即它仍然调用旧的python.还要注意括号下的提示不是 (py33).

Namely it still calling old python. Notice also that the prompt under bracket is not (py33).

(coyotito)[coyotito@pearl ~]$ which python
~/.anaconda/bin/python

在新环境中代替python:

Instead of python in new environment:

~/.anaconda/envs/py33/bin/python3.3

我该如何解决这个问题?

How can I resolve this issue?

更新

我在 ~/.bash_profile 中的 PATH 环境如下所示:

My PATH environment in ~/.bash_profile looks like this:

export PATH=$HOME/.anaconda/bin:$PATH


解决方案

我遇到了完全相同的问题.不知道我做了什么来陷入这种混乱,但我用一个简单的方法解决了它:

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

(如果激活了多个环境,可能需要多次运行conda deactivate.)

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

相关文章