我无法在 conda 中激活虚拟环境

Tum*_*xie 7 python linux virtualenv anaconda conda

我用conda创建了一个虚拟环境

$ conda create test_env numpy .....
Run Code Online (Sandbox Code Playgroud)

就创建成功了。

$ conda env list
# conda environments:
#
base                  *  /home/myname/anaconda3
my_project_env           /home/myname/anaconda3/envs/my_project_env
test_env                 /home/myname/anaconda3/envs/test_env
Run Code Online (Sandbox Code Playgroud)

但我无法激活它

$ source activate my_project_env
Run Code Online (Sandbox Code Playgroud)

返回 - 激活:没有这样的文件或目录

我发现激活的唯一地方是整个 anaconda3 中的 /common 文件夹

source anaconda3/envs/my_project_env/lib/python3.6/venv/scripts/common/activate my_project_env
Run Code Online (Sandbox Code Playgroud)

当我使用此路径运行它时,我得到VENV_PROMPT “某种环境”,但是当我使用pip list检查库时,它返回已安装库的全局列表,而不是选定的几个。

$ source anaconda3/envs/my_project_env/lib/python3.6/venv/scripts/common/activate my_project_env
__VENV_PROMPT__myname@box:~$ pip3 list
Run Code Online (Sandbox Code Playgroud)

c0l*_*udy 3

我遇到了同样的问题。这是因为我将系统的$PATH变量从anaconda的主bin目录更改为环境的bin目录。实际上,激活的路径位于/home/users/anaconda3/bin/下。所以我只是使用以下命令在两个 bin 目录之间建立链接:

ln -s /home/userName/anaconda3/bin/activate /home/userName/anaconda3/envs/envName/bin/activate
ln -s /home/userName/anaconda3/bin/deactivate /home/userName/anaconda3/envs/envName/bin/deactivate
Run Code Online (Sandbox Code Playgroud)