【问题标题】:How to display conda's environment in zsh (not using oh-my-zsh)?如何在 zsh 中显示 conda 的环境(不使用 oh-my-zsh)?
【发布时间】:2019-11-25 13:36:16
【问题描述】:

我使用 zsh没有配备 oh-my-zsh,因为我在我的机器上克隆了许多 git repos 和 oh-my-zsh 的默认主题或 'josh ' 主题使其非常慢,用于cdls 命令等。

因此我删除了 oh-my-zsh 并且只使用 zsh 的默认推荐配置,除了添加一些别名和路径变量。

现在问题来了:我通过 conda 管理我的 python 环境,提示符中没有显示当前环境名称。

我已经执行了命令:

conda init zsh

并且重新打开我的终端(默认shell是zsh),仍然不显示“(base)”或“(py36)”的东西

如何让我的终端显示这些内容? git 分支对我的工作无关紧要,但当前的 python 版本确实很重要,因为 DeepLearning 相关工具使用许多不同的 python 版本。

【问题讨论】:

  • 在我的 ~/.condarc 中,我之前没有设置 changeps1: False。现在我加了changeps1: True,还是不行。

标签: python zsh conda ps1


【解决方案1】:

对于那些使用 oh-my-zsh 的用户

我在 ~/.zshrc 配置文件中添加 anaconda 元素

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(anaconda ...ENVS)

conda env 出现了

【讨论】:

    【解决方案2】:

    这是由于默认 zsh 配置中的这一行引起的:

    prompt adam1
    

    删除该行后,重新打开终端,显示conda环境。

    【讨论】:

    • 在哪里可以找到这个?
    • @Shehan 在你的zsh配置文件中找到,一般是~/.zshrc
    • 我没有这样的行。但仍然没有显示 conda env。
    【解决方案3】:

    如果您没有使用oh-my-zsh 并且没有从那里复制粘贴相关部分,那么正确的答案是当您使用conda init zsh 时,会引入环境变量CONDA_PROMPT_MODIFIER。您想将其添加到您的PROMPT。作为precmd 函数的一部分,您应该这样做,以便每次打印提示时都会显示环境变量的更新值。

    【讨论】:

      【解决方案4】:

      你可以试试,

      # init your shell first
      conda init zsh
      source ~/.zshrc # refresh your shell
      source activate base # (optional, on linux) activate base env
      

      【讨论】:

      • 通过运行 conda init zsh,一些初始化行将被添加到 ~/.zshrc 。然后做source ~/.zsh,和重新开一个shell是一样的。你说的最后一步,source activate base,我没试过,不过也可以放在~/.zshrc中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      相关资源
      最近更新 更多