为什么 conda 在 bash 中工作但在 tmux 中失败?

为什么 conda 在 bash 中工作但在 tmux 中失败?

当我尝试激活 tmux 内的现有环境时,我新设置的 conda 失败。显然它找到了 conda 二进制文件,但无法运行该命令。在 bash 中它按预期工作。

脚步:

  1. 打开bash

  2. 检查 conda activate 在 bash 中是否有效

  3. 打开tmux

  4. 在 tmux 中运行 conda activate ,输出如下

    xxx@xxx:~$ conda activate CommandNotFoundError: 您的 shell 尚未正确配置为使用“conda activate”。要初始化您的 shell,请运行

     $ conda init <SHELL_NAME>
    

    目前支持的 shell 有:

    • 巴什
    • tcsh
    • 克森什
    • 桀骜
    • 电源外壳

    有关更多信息和选项,请参阅“conda init --help”。

    重要提示:运行“conda init”后,您可能需要关闭并重新启动 shell。

答案1

我在这找到了解决方案问题

问题是我正在带有交互式登录 shell 的服务器上运行 tmux,有关详细信息,请参阅.bashrc 与 .bash_profile。在这种情况下,Bash 只打开 .bash_profile。所以这意味着这个问题有两种解决方案:

  1. 在 .bash_profile 中导入 .bashrc,例如添加

     if [ -f ~/.bashrc ]; then
         . ~/.bashrc
     fi
    
  2. 将 conda init 代码块从 .bashrc 移动到 .bash_profile

编辑:更新了 Kusalananda 的评论,感谢您的解释。

相关内容