所以我习惯在启动python Anaconda环境时键入source activate <environment>
。这很好用。但是当我创建新的conda环境时,我在Ubuntu 16.04上看到了以conda activate
启动环境的消息。除了有关如何设置我的shell以使用conda activate
的错误之外,我仍然不清楚source activate ...
和conda activate ...
之间的区别是什么?有理由改变吗?有谁知道这两个命令之间的区别?感谢。
答案 0 :(得分:36)
从conda 4.4开始,conda activate
是激活环境的首选方式。通常,您在conda activate
和旧source activate
之间找不到太多差异,除非它意味着更快,并且在不同的操作系统中工作相同(后一种差异使conda activate
成为巨大的改进IMO。)
关于发布conda版本4.4.0
(2017年12月发布),来自docs:
conda activate:重新设计了环境激活的逻辑和机制。使用conda 4.4,conda activate和conda deactivate现在是激活和停用环境的首选命令。你会发现它们比以前的conda版本的source activate和source deactivate命令要灵活得多。 conda activate命令还具有以下优点:(1)在所有操作系统,shell和平台上都是通用的,以及(2)没有与其他软件包(如python virtualenv的激活脚本)的脚本发生路径冲突。
答案 1 :(得分:0)
这是我发现的一个区别。 source activate
可以在bash脚本的开头用于加载conda环境,而conda activate
会给我一个错误:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
这对我来说有很大的不同,因为我经常将bash作业提交到群集,而source activate
是更改conda环境的唯一方法。
如果有人可以在bash脚本中使用conda activate
,请纠正我。
答案 2 :(得分:-2)