我在Linux下有以下conda环境:
$ conda info -e
# conda environments:
#
py33 /u21/coyotito/.anaconda/envs/py33
root * /u21/coyotito/.anaconda
使用此命令创建py33
:
$ conda create -n py33 python=3.3 anaconda
问题是当我激活py33
时,它仍然无法调用Python 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)
。
(coyotito)[coyotito@pearl ~]$ which python
~/.anaconda/bin/python
在新环境中代替python:
~/.anaconda/envs/py33/bin/python3.3
如何解决此问题?
更新
~/.bash_profile
中的我的PATH环境如下所示:
export PATH=$HOME/.anaconda/bin:$PATH
答案 0 :(得分:10)
TLDR;
# deactivate Conda environment
# (until even base environment is deactivated)
conda deactivate
# activate your environment
conda activate your_env_name_goes_here
尝试
激活环境A,然后使用以下命令检查Python包的位置。
python -c“ import sys; print(sys.executable)”
激活另一个环境,假设环境B并重新运行上面的python命令。如果conda未使用正确的Python版本,则很可能在两个环境中运行上述命令都将打印相同的路径。
我的conda安装未使用正确的版本,因为我已在conda基本环境之上激活了我的环境。
先停用基本环境,然后再激活我想要的环境,
答案 1 :(得分:6)
我有完全相同的问题。不知道我是怎么陷入困境的,但是我用一个简单的方法解决了这个问题:
conda deactivate
conda activate foo_env
答案 2 :(得分:5)
使用同样的问题登陆这里,但是通过移出anaconda可执行文件目录,调用了正确的python。我在一个目录中,其中包含与Anaconda2一起安装的python可执行文件。
示例:
(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:\>
答案 3 :(得分:2)
因此,在我的情况下,我之前的实习生将 anaconda 路径附加到 /etc/profile
中的路径变量,这会覆盖 ~/.bashrc
中的 conda 设置,只需删除 /etc/profile
中的那些行即可。