如何激活Anaconda环境


145

我在Windows 8上,使用Anaconda 1.7.5 64bit。

我创建了一个新的Anaconda环境

conda create -p ./test python=2.7 pip

来自C:\Pr\TEMP\venv\

效果很好(有一个带有新python发行版的文件夹)。康达告诉我输入

activate C:\PR\TEMP\venv\test

激活环境,但是返回:

No environment named "C:\PR\temp\venv\test" exists in C:\PR\Anaconda\envs

如何激活环境?我究竟做错了什么?


1
今天就碰到这个。看起来非常
像个

Answers:


160

如果发生这种情况,则需要为您的环境设置PATH(以便从环境和Windows上的Scripts \中获取正确的Python)。

假设您使用以下方法创建了一个名为py33的环境:

conda create -n py33 python=3.3 anaconda

在默认情况下,这里是在Anaconda \ envs中创建的文件夹,因此您需要将PATH设置为:

set PATH=C:\Anaconda\envs\py33\Scripts;C:\Anaconda\envs\py33;%PATH%

现在它应该可以在命令窗口中工作:

activate py33

上面的行是Windows,等同于Mac和Linux教程中通常显示的代码:

$ source activate py33

更多信息:https : //groups.google.com/a/continuum.io/forum/#!topic/ anaconda/ 8T8i11gO39U

anaconda是否为每个新环境创建一个单独的PYTHONPATH变量?


6
我不明白activate如果没有为我设置路径变量的意义是什么。
Asad Saeeduddin

7
这是一个错误。我发送了一个修复程序,希望下一个版本可以正常工作。
remram

3
在Windows上,activatecmd提示终端中使用命令
phillipsK 2015年

1
export PATH="/$HOME/anaconda/bin:$PATH"将适用于MAC OS X用户。这就是我使我的virtualenvs起作用的方法。
聪明的程序员

4
我使用了powershell,但以上方法无效。在cmd上,它工作正常。
kon psych

57

使用cmd代替Powershell! 我花了2个小时才切换到cmd,然后才起作用!

创建环境:

conda create -n your_environment_name

查看conda环境列表:

conda env list

激活您的环境:

conda activate your_environment_name

那是所有人


13

请注意,用于激活环境的命令在Conda 4.4版中已更改。激活一个环境的推荐的方法是现在conda activate myenv,而不是source activate myenv。要启用新语法,您应该修改 .bashrc文件。该行当前显示类似

export PATH="<path_to_your_conda_install>/bin:$PATH"

应该改为

. <path_to_your_conda_install>/etc/profile.d/conda.sh

这只会将conda命令添加到路径,而尚未激活base环境(以前称为root)。为此,添加另一行

conda activate base

在第一个命令之后。请参阅Anaconda自2017年12月以来的博客文章中的所有详细信息。(我认为该页面目前缺少两行之间的换行符.../conda.shconda activate base)。

(此答案对Linux有效,但对Windows和Mac也可能适用)


8

以前所有的答案似乎都是过时的。

conda activateconda4.4和4.6中引入。

conda activate:重新激活了环境激活的逻辑和机制。与康达4.4,conda activate并且conda deactivate是现在用于激活和停用环境的首选命令。您会发现它们比以前的conda版本中的source activateand source deactivate命令更加灵活。该conda activate命令还具有(1)在所有OS,shell 和平台上通用的优势,以及(2)与其他包(例如python virtualenv的Activate脚本)中的脚本没有路径冲突。

例子

conda create -n venv-name python=3.6
conda activate -n venv-name
conda deactivate

这些新的子命令在“ Aanconda提示”和“ Anaconda Powershell提示”中自动可用。要conda activate每个shell(普通cmd.exe和powershell)中使用,请在Windows的每个shell中检查暴露conda命令

参考资料


您不需要-n激活。仅仅conda activate base是不够好。
Shital Shah

7

从错误消息中可以看到,您指定的路径是错误的。像这样尝试:

activate ..\..\temp\venv\test

但是,当我需要安装Anaconda时,我从这里下载了它并将其安装到默认路径(C:\Anaconda),而不是将此路径放置到环境变量中,因此现在将Anacondas解释器用作默认路径。例如,如果您使用的是PyCharm,则可以在那里直接指定解释器。


我正在指定anaconda环境的安装路径。我直接从conda create输出中复制了“ activate ...”,并尝试从C:/和从中运行它C:/pr/temp/venv。仍然不起作用...
pandita

4

以下是它对我的工作方式

  1. C:\ Windows \ system32>设置CONDA_ENVS_PATH = d:\您的\位置
  2. C:\ Windows \ system32> conda信息

显示新的环境路径

  1. C:\ Windows \ system32> conda创建-n YourNewEnvironment --clone = root

克隆默认的根环境

  1. C:\ Windows \ system32>激活YourNewEnvironment

停用环境“ d:\ YourDefaultAnaconda3” ...停用环境“ d:\ your \ location \ YourNewEnvironment” ...

  1. [YourNewEnvironment] C:\ Windows \ system32> conda信息-e

康达环境:

YourNewEnvironment
* d:\ your \ location \ YourNewEnvironment

根d:\ YourDefaultAnaconda3


4

我曾尝试用Jenkins job(bash)激活env conda activate base ,但是失败了,所以在尝试了很多之后,这个对我有用(CentOS 7):

source /opt/anaconda2/bin/activate base

2

假设您的环境名称为'demo',并且您正在使用anaconda并想创建一个虚拟环境:

(如果您想要python3)

    conda create -n demo python=3

(如果您想要python2)

    conda create -n demo python=2

运行上述命令后,您必须通过以下命令激活环境:

    source activate demo 

1

对我来说,使用Anaconda Prompt代替cmd或PowerShell是关键。

在Anaconda Prompt中,我要做的就是 activate XXX


0

我也有相同的想法,似乎已在源代码中进行了修复。


2
@Nelson,您好,请注意,您提供的链接现已关闭。也许将链接中包含的说明放到您的答案中?
Tshilidzi Mudau

0

正如@Simba正确回答的那样,自4.6起conda env发生了变化。Conda activate (env-name)彻底推翻source activate (env-name),但并非没有挑战。conda activate经常强迫你的环境建立基础,让你看到类似的东西(基础)。因此,将大量错误抛给您。这也可能是因为auto_activate_base设置为True。

您可以使用以下命令进行检查

conda config --set auto_activate_base False

source ~/.bashrc

要重新激活使用此

conda config --set auto_activate_base True

source ~/.bashrc


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.