我用的是Windows 8, Anaconda 1.7.5 64bit。

我创建了一个新的蟒蛇环境

Conda create -p ./test python=2.7 PIP

从C: \公关\ TEMP \ venv \。

这工作得很好(有一个带有新的python发行版的文件夹)。康达让我打字

激活C: \公关\ TEMP \ venv \测试

激活环境,然而,这将返回:

在C:\PR\Anaconda\envs中不存在名为“C:\PR\temp\venv\test”的环境

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


当前回答

一种特殊情况是:如果您试图将激活命令放在unix脚本中,则可能会遇到问题,因为在运行bash脚本时,会创建一个新的(linux) shell环境,然后在退出该脚本时破坏该环境。把这看作是运行bash,然后源激活…/ conda activate…,然后运行exit退出该shell…结果是你最终没有一个被激活的外壳……更多详细信息在如何执行脚本在当前shell上的Linux?:

对于linux,在bash脚本中激活并保持激活状态:

添加行#!/bin/bash作为脚本的第一行(无论如何,这总是一个很好的实践,它指定这是一个bash脚本) 输入命令源shell_script.sh或。shell_script.sh

注:。在bash中等价于在bash中的source。

其他回答

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

在水蟒提示中,我所需要做的就是激活XXX

我已经尝试激活env从詹金斯工作(在bash)与 conda激活基础,它失败了,所以在多次尝试后,这个为我工作(CentOS 7):

source /opt/anaconda2/bin/activate base

让我们假设你的环境名称是“demo”,你正在使用anaconda并想要创建一个虚拟环境:

(如果你想要python3)

    conda create -n demo python=3

(如果你想要python2)

    conda create -n demo python=2

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

    source activate demo 

前面所有的答案似乎都过时了。

在Conda 4.4和4.6中引入了Conda activate。

conda activate: The logic and mechanisms underlying environment activation have been reworked. With conda 4.4, conda activate and conda deactivate are now the preferred commands for activating and deactivating environments. You’ll find they are much more snappy than the source activate and source deactivate commands from previous conda versions. The conda activate command also has advantages of (1) being universal across all OSes, shells, and platforms, and (2) not having path collisions with scripts from other packages like python virtualenv’s activate script.

例子

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

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

参考文献

如何为conda 4.4的发布做好准备 Conda 4.6发布

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

创建环境:

conda create -n your_environment_name

参见conda环境列表:

conda env list

激活你的环境:

conda activate your_environment_name

这就是所有的人