当前位置: 首页 > 知识库问答 >
问题:

默认情况下,如何防止Conda激活基本环境?

养学
2023-03-14

我最近在我的Mac上安装了anaconda2。默认情况下,Conda配置为在我打开新的终端会话时激活基本环境。

我想访问Conda命令(即,我想将Conda的路径添加到我的$path,Conda在初始化时会这样做,这样就可以了)。

但是,我通常不使用python编程,我也不希望Conda在默认情况下激活基本环境。

当第一次从提示符执行conda init时,Conda将以下内容添加到我的中。bash_profile

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
    . "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
    export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<

如果我注释掉整个块,那么我不能激活任何Conda环境。

我试图评论整个街区除了

export PATH="/Users/geoff/anaconda2/bin:$PATH"

但是,当我启动新会话并尝试激活环境时,我收到以下错误消息:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

这个问题(以及其他类似的问题)很有帮助,但最终并不能回答我的问题,更适合linux用户。

明确地说,我不是要求从我的$PS1中删除(base),我是要求Conda在我打开终端会话时不要激活base。

共有3个答案

蒋奕
2023-03-14

答案取决于您安装conda的版本。对于conda的版本

conda deactivate

就在下面

# <<< conda initialize <<<
时衡虑
2023-03-14

conda4.6之后,有3种方法可以实现这一点。(最后一个方法具有最高优先级。)

>

  • 使用sub命令conda config更改设置。

    conda config --set auto_activate_base false
    

    实际上,以前的conda config子命令正在更改配置文件. condarc。我们可以直接修改. condarc。将以下内容添加到主目录下的. condarc中,

    # auto_activate_base (bool)
    #   Automatically activate the base environment during shell
    #   initialization. for `conda init`
    auto_activate_base: false
    

    在shell的init文件中设置环境变量CONDA\u AUTO\u ACTIVATE\u BASE。(.bashrc用于bash,.zshrc用于zsh)

    CONDA_AUTO_ACTIVATE_BASE=false
    

    要从基于文件的配置参数名称转换为环境变量参数名称,请将名称全部设为大写,并在前面加上CONDA_。例如,conda的always_yes配置参数可以使用CONDA_ALWAYS_YES环境变量指定。

    环境设置优先于. condarc文件中的相应设置。

    • 超级用户的Conda配置引擎

  • 狄海
    2023-03-14

    我有一个康达4.6与康达添加的类似代码块。在我的例子中,有一个conda配置设置来禁用自动基本激活:

    conda config --set auto_activate_base false
    

    第一次运行它时,它将在主目录中创建一个. condarc,该设置将覆盖默认值。

    这不会清除你的.bash_profile,但这是一个更干净的解决方案,无需手动编辑conda管理的部分。

     类似资料:
    • 我使用此链接在Windows设置中的git bash中启用conda 但是,每当我从上下文菜单打开git bash时,它都不会默认激活base环境。每当我在Windows中打开bash终端时,如何让它默认激活base?

    • 我有一个XML文件,其中包含一个带有特殊字符或转义字符的元素。当我将该文件解组为Java对象时,JAXB会自动转义这些字符。但是,我不希望转义它们,应该用XML文件中存在的任何值填充对象。我的XML文件片段如下所示: 我的JAXB订单类如下所示: 在解组时,Order类对象的名称字段的值为“Order one” 我知道将这个值放在CDATA中的解决方案,这样它就不会被转义,但是我正在解组的XML文

    • 问题内容: 我需要在我们的jenkins服务器(在Windows上运行)上使用特定的conda环境运行jenkins构建。我认为这和运行一样容易: 但这似乎导致构建甚至在脚本启动之前退出。这是jenkins控制台日志: 如果删除激活行,则python脚本可以正常执行。 仅供参考,我正在运行的脚本: 有人知道发生了什么吗?我应该直接调用相关的python可执行文件吗? 问题答案: 使用以防止激活从它

    • 默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http

    • 我正在尝试调试一些C++代码,这些代码链接到安装在单独的Conda环境中的库。但是,'tasks.json'文件总是检查基环境中的库,而不是我打算使用的环境中的库。某些错误消息片段如屏幕截图所示。 有人能建议我如何在调试器的构建过程之前激活环境吗?

    • 问题内容: 我有一些单选按钮,我希望其中的一个按钮在页面加载时默认设置为选中状态。我怎样才能做到这一点? 问题答案: XHTML解决方案: 请注意,属性的实际值并不重要。这只是分配的约定。最重要的是,字符串喜欢或没有任何特殊含义。 如果您不希望符合XHTML,则可以将代码简化为: