Conda 环境可发现但不可激活(当 activate 是 bash 别名时)

ely*_*ely 5 python environment python-3.x anaconda conda

Conda 版本 4.2.9,来自 RedHat 4.4.7-1 的 anaconda3 4.2.0 安装。

[user@machine]$ conda info --envs
# conda environments:
#
molr-py3                 /home/user/anaconda3/envs/molr-py3
root                  *  /home/user/anaconda3

[user@machine]$ source activate molr-py3
CondaEnvironmentNotFoundError: Could not find environment: molr-py3 .
You can list all discoverable environments with `conda info --envs`.
Run Code Online (Sandbox Code Playgroud)

我什至不确定在这种情况下要采取哪些调试步骤。我已经验证conda来自正确的 anaconda 路径等。

我还尝试chmod -R a+rwXenvs目录,然后是anaconda3目录,但这没有影响。

所有不同的conda-*命令在 .bashrc 中都有别名,以指向 .bashrc 中存在的版本anaconda3/bin,因此它不使用任何anaconda2版本的conda东西。此外,activate脚本 fromanaconda3/bin的别名为 to,activate因此它也不使用该anaconda2 activate脚本。

输出 conda info

Current conda install:

               platform : linux-64
          conda version : 4.2.9
       conda is private : False
      conda-env version : 4.2.9
    conda-build version : 2.0.2
         python version : 3.5.2.final.0
       requests version : 2.11.1
       root environment : /home/user/anaconda3  (writable)
    default environment : /home/user/anaconda3
       envs directories : /home/user/anaconda3/envs
          package cache : /home/user/anaconda3/pkgs
           channel URLs : https://repo.continuum.io/pkgs/free/linux-64/
                          https://repo.continuum.io/pkgs/free/noarch/
                          https://repo.continuum.io/pkgs/pro/linux-64/
                          https://repo.continuum.io/pkgs/pro/noarch/
            config file : None
           offline mode : False
Run Code Online (Sandbox Code Playgroud)

更新

如果我完全拼出anaconda3激活脚本的路径,那么它就可以工作。例如以下将工作,

source /home/user/anaconda3/bin/activate molr-py3
Run Code Online (Sandbox Code Playgroud)

即使这样设定,

[user@machine]$ which activate
alias activate='/home/user/anaconda3/bin/activate'
    ~/anaconda3/bin/activate
Run Code Online (Sandbox Code Playgroud)

以下就不能正常工作,

[user@machine]$ source activate molr-py3
CondaEnvironmentNotFoundError: Could not find environment: molr-py3 .
You can list all discoverable environments with `conda info --envs`.
Run Code Online (Sandbox Code Playgroud)

Mik*_*ler 3

制作source别名的一部分:

alias activatepy3='source /home/user/anaconda3/bin/activate' 
Run Code Online (Sandbox Code Playgroud)

现在活跃:

activatepy3 molr-py3
Run Code Online (Sandbox Code Playgroud)

对 执行同样的操作deactivate