无法在conda中激活虚拟环境

7

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

$ conda create test_env numpy .....

创建成功。
$ 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

但是我无法激活它。
$ source activate my_project_env

返回 - activate:没有此文件或目录

我唯一在整个anaconda3中找到activate的地方是在/common文件夹中。

source anaconda3/envs/my_project_env/lib/python3.6/venv/scripts/common/activate my_project_env

当我使用这个路径运行它时,我得到了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

听起来你的PATH变量被搞乱了。 - Paul H
1
@PaulH,如果我在命令中指定了它,它会起作用吗?我应该在哪里找到激活文件?它在scripts/commons而不是anaconda3/bin/中是否正常?有什么解决这个问题的想法吗? - Tummomoxie
你使用的conda版本是什么?激活环境的新方法是 conda activate env_name - darthbith
如果我没记错的话,activate 脚本应该在一个中央位置,而不是在环境中。 - Paul H
4个回答

4

尝试使用以下命令激活您的conda环境:

source activate /home/myname/anaconda3/envs/my_project_env

创建使用Python 2.7版本的环境的推荐命令:

conda create -n my_project_env python=2.7

3

我遇到了同样的问题。这是因为我将系统的$PATH变量从anaconda的主bin目录更改为环境的bin目录。实际上,activate的路径在/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

我按照指示操作了,但是出现了这个消息 (bash: In: command not found),什么都没发生。 :((( - Lim
抱歉,实际上 ln 是指创建链接。 - c0ldstudy

1

检查你的conda版本

conda -V

为您的项目创建虚拟环境

conda create -n yourenvname python=x.x anaconda

激活您的虚拟环境

source activate yourenvname

0

正如其他人所提到的,这可能是一个PATH问题。但是,如果您仍然能够运行其他conda命令,则可能需要执行conda update conda或删除conda并重新安装。在我的情况下,我正在运行miniconda,我相信它根本不包含activate二进制文件。

运行conda activate而不是source activate解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接