【问题标题】:Can't change HOST env variable in conda env无法更改 conda env 中的 HOST env 变量
【发布时间】:2021-10-03 05:29:38
【问题描述】:

我可以在 conda base env 中更改HOST env变量(如下图)

但是,我无法在其他 conda env 中更改它,就我而言,它是 foo env

~ ❯ echo $HOST                                           base
localhost
~ ❯ HOST=bar                                             base
~ ❯ echo $HOST                                           base
bar
~ ❯ conda activate foo                                   base
~ ❯ echo $HOST                                           foo
x86_64-conda-linux-gnu
~ ❯ HOST=bar                                             foo
~ ❯ echo $HOST                                           foo
x86_64-conda-linux-gnu

我也试过export,但没有运气:

~ ❯ export HOST=bar                                      foo
~ ❯ echo $HOST                                           foo
x86_64-conda-linux-gnu

我想更改 HOST 变量以关注this solution

我正在使用 zsh,但是当我更改为 bash 时,一切正常正常

那么如何更改 HOST 变量(在 conda env foo in zsh 中)?

【问题讨论】:

    标签: environment-variables conda zsh hostname


    【解决方案1】:

    解决方法

    一种解决方法是链接命令:

    ~ ❯ HOST=localhost && echo $HOST
    localhost
    

    这并不能解决您无法保留该值的问题,但至少您可以根据自己的意愿定义它来启动东西。

    问题来源

    我不熟悉zsh 的细节,但Conda 环境的这种特定行为似乎是由gcc_linux-64 包引起的,其中包括these lines in its activation script

    # fix prompt for zsh
    if [[ -n "${ZSH_NAME:-}" ]]; then
        autoload -Uz add-zsh-hook
    
        _conda_clang_precmd() {
          HOST="${CONDA_BACKUP_HOST}"
        }
        add-zsh-hook -Uz precmd _conda_clang_precmd
    
        _conda_clang_preexec() {
          HOST="${CONDA_TOOLCHAIN_HOST}"
        }
        add-zsh-hook -Uz preexec _conda_clang_preexec
    fi
    

    粗略地说,这个编译器工具链似乎需要以特定方式设置 HOST,并且由于某种原因zsh 使得更改它变得有问题。此处的代码似乎使用钩子在执行命令之前设置 HOST,然后在再次显示提示之前从备份中恢复它。

    我鼓励您提交an issue on the pertinent feedstock,询问他们为什么这样做以及是否可以更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-21
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      相关资源
      最近更新 更多