Python Anaconda:我应该在linux中使用`conda activate`或`source activate`

kri*_*nab 34 python anaconda conda

所以我习惯source activate <environment>在开始python Anaconda环境时打字.这很好用.但是当我创建新的conda环境时,我在Ubuntu 16.04上看到了用来启动环境的消息conda activate.除了关于如何设置我的外壳使用的错误conda activate,而不是,我现在还不能对之间有什么区别清晰source activate ...conda activate ...有没有理由去改变?有谁知道这两个命令之间的区别?谢谢.

sac*_*cuL 50

从conda 4.4开始,conda activate是激活环境的首选方式.一般来说,你不会找到太多的差异的conda activate和旧的source activate,但它的意思是速度更快,并且在不同的操作系统(后者的差异使得工作同conda activate一个庞大的 IMO改善).

文档,关于畅达版发布4.4.0(发布December 2017):

conda activate:重新设计了环境激活的逻辑和机制.使用conda 4.4,conda activate和conda deactivate现在是激活和停用环境的首选命令.你会发现它们比以前的conda版本的source activate和source deactivate命令要灵活得多.conda activate命令还具有以下优点:(1)在所有操作系统,shell和平台上都是通用的,以及(2)没有与其他软件包(如python virtualenv的激活脚本)的脚本发生路径冲突.


tap*_*per 11

这是我发现的一个区别。source activate可以在 bash 脚本的开头使用来加载 conda 环境,而conda activate会给我一个错误:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Run Code Online (Sandbox Code Playgroud)

这对我产生了巨大的影响,因为我经常将 bash 作业提交到集群,并且source activate是更改 conda 环境的唯一方法。

如果有人可以conda activate在 bash 脚本中使用,请纠正我。

  • 请参阅此链接:https://github.com/conda/conda/issues/7980。bash 脚本开头的这两行代码将允许您在脚本中使用 `conda activate`: `CONDA_BASE=$(conda info --base) ; 源 $CONDA_BASE/etc/profile.d/conda.sh` (5认同)
  • 那么在 docker 文件中呢? (4认同)