我在Linux下有以下conda环境:
$ conda info -e
# conda environments:
#
py33 /u21/coyotito/.anaconda/envs/py33
root * /u21/coyotito/.anaconda
Run Code Online (Sandbox Code Playgroud)
并py33使用此命令创建:
$ conda create -n py33 python=3.3 anaconda
Run Code Online (Sandbox Code Playgroud)
问题是当我激活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
Run Code Online (Sandbox Code Playgroud)
即它仍然调用旧的python.另请注意,括号下的提示不是(py33).
(coyotito)[coyotito@pearl ~]$ which python
~/.anaconda/bin/python
Run Code Online (Sandbox Code Playgroud)
在新环境中代替python:
~/.anaconda/envs/py33/bin/python3.3
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
更新
我的PATH环境~/.bash_profile如下所示:
export PATH=$HOME/.anaconda/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
Raz*_*aza 19
TLDR;
# deactivate Conda environment
# (until even base environment is deactivated)
conda deactivate
# activate your environment
conda activate your_env_name_goes_here
Run Code Online (Sandbox Code Playgroud)
尝试这个
激活环境 A,然后使用以下命令检查 Python 包的位置。
python -c "import sys; print(sys.executable)"
激活另一个环境,假设环境 B 并重新运行上面的 python 命令。如果 conda 未使用正确的 Python 版本,则很可能运行上述命令将在两种环境中打印相同的路径。
我的 conda 安装没有使用正确的版本,因为我在 conda 基础环境之上激活了我的环境。
停用基础环境,然后激活我想要的环境,工作。
小智 6
在这里登陆同样的问题,但是通过移出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:\>
Run Code Online (Sandbox Code Playgroud)
小智 6
仅当您创建环境而不指定任何其他包时才会发生这种情况。我正在使用康达4.10.3
请参阅https://github.com/conda/conda/issues/9392#issuecomment-696897058
上面链接中的以下评论适用于我的案例:
我注意到,如果我在创建环境时安装一个数据包,它就会起作用。
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
Run Code Online (Sandbox Code Playgroud)
另外,建议将 conda deactivate 添加到您的.zshenv或.bash_profile
我有同样的问题。不知道我是怎么做的,但是我用一个简单的方法解决了:
conda deactivate
conda activate foo_env
Run Code Online (Sandbox Code Playgroud)
小智 5
因此,在我的情况下,我之前的实习生将 anaconda 路径附加到 中的路径变量/etc/profile,这会覆盖我的 conda 设置~/.bashrc,只需删除这些行/etc/profile即可提供帮助。
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |