【问题标题】:Sourcing Anaconda activate script vs. adding the Anaconda bin directory to PATH采购 Anaconda 激活脚本与将 Anaconda bin 目录添加到 PATH
【发布时间】:2018-04-03 22:01:37
【问题描述】:

我想将 Anaconda Python 作为我的默认 Python 环境。

为了在系统 Python 上使用 Anaconda,我一直在研究以下两个选项:

  1. 将 Anaconda bin 路径添加到我的 bash PATH 变量(在我的 .bashrc 中),以便 Anaconda 二进制文件优先于系统上其他地方的二进制文件。
  2. 在我的 bash shell 中获取 Anaconda 激活脚本(同样,通过将其添加到我的 .bashrc 来自动化)。

作为对 Anaconda Python 比较陌生的人,我不确定这两种方法中的哪一种通常被认为更好。因此,我想知道在这方面是否有任何一般性指导?

据我所知,这两种方法的主要区别在于激活脚本设置了许多额外的 shell 环境变量,例如:CONDA_PREFIXPS1CONDA_PS1_BACKUPCONDA_DEFAULT_ENV

【问题讨论】:

  • 我猜如果机器工作只是与 anaconda 一起服务,请在机器启动时通过.bashrc 自动执行,或者在/etc/init.d/anaconda 中添加一个带有chmod +x 的脚本。但如果仅适用于开发人员,只需将链接添加到您的菜单并在需要时手动启动它。

标签: python linux bash shell anaconda


【解决方案1】:

在过去几周尝试了这两种方法后,我选择了第一个选项:将 Anaconda 二进制路径添加到用户 .bashrc 文件中的 PATH 变量。

我发现这种方法的好处是:

  1. 无论 Anaconda 激活脚本是否源自用户的 .bashrc,当用户切换到其虚拟环境之一,然后运行 ​​source deactivate 以停用当前环境时,它们将始终在 Anaconda 环境之外结束.在这种情况下,除非 Anaconda 二进制路径也已显式添加到其 PATH 变量中,否则 deactivate 脚本将从 PATH 变量中删除 Ansible 二进制路径。
  2. Anaconda 激活脚本会执行一系列操作,如果每次启动新 shell 时都会调用 Anaconda 激活脚本,那么在一个 shell 中执行与 Python 无关的操作时,这些操作可能会产生不必要的开销。
  3. 如果将 Anaconda 二进制文件设置在其PATH 变量中,则运行source activate 以启用“根”Anaconda 环境非常简单。 (对于任何一种解决方案,如果一个人经常使用虚拟环境,则无论如何都必须做类似的事情。)

【讨论】:

    猜你喜欢
    • 2019-08-19
    • 2020-09-01
    • 1970-01-01
    • 2016-11-28
    • 2019-06-07
    • 2016-07-16
    • 2018-11-06
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多