【问题标题】:tmux create new pane or window with current activated conda environmenttmux 使用当前激活的 conda 环境创建新的窗格或窗口
【发布时间】:2019-10-18 09:21:18
【问题描述】:

当我使用 tmux 创建新窗格或窗口时,我想使用我刚刚使用的相同 conda 环境。

即我现在使用一个名为XXXenv 的conda env,我使用Ctrl+b + % 创建一个新窗格,我想要的是由conda env XXXenv 激活新创建的窗格。

其实Have tmux windows inherit activated anaconda environment我已经试过了,但是对我不起作用。

【问题讨论】:

  • 简短回答:不支持,但您可以按照其他问题建议的方式解决它。
  • 您是否确保在建议的副本接受的答案中遵循注释 1?即,通过运行 conda init? 将您的 shell 配置为最佳实践
  • 其实我不是很明白Note1是什么意思。您介意详细说明如何设置吗?

标签: conda tmux


【解决方案1】:

嘿嘿,有一个名为 CONDA_DEFAULT_ENV 的环境变量。创建一个定义窗格布局的 bash 脚本,并使用此 var 将原始窗格的活动 conda 环境发送到任何新窗格。然后通过一些 tmux 快捷方式调用它。

dev-sesh.sh

#!/bin/sh

current_session=$(tmux display-message -p '#S')
current_conda=$CONDA_DEFAULT_ENV

tmux split-window -v -p 75 -b
tmux select-pane -t 1
tmux split-window -h -p 50
tmux send-keys  -t "$current_session.0" "conda activate $current_conda" 'Enter';
tmux send-keys  -t "$current_session.1" "conda activate $current_conda" 'Enter';
tmux send-keys  -t "$current_session.2" "conda activate $current_conda" 'Enter';
tmux send-keys  -t "$current_session.0" "clear && figlet Welcome" 'Enter';
tmux send-keys  -t "$current_session.1" "clear" 'Enter';
tmux send-keys  -t "$current_session.2" "clear" 'Enter';
tmux rename-window "dev";

tmux.conf

bind -n C-n send-keys 'bash ~/.dotfiles/dev-sesh.sh' Enter

结果

【讨论】:

    猜你喜欢
    • 2020-02-10
    • 2016-11-14
    • 2021-08-06
    • 1970-01-01
    • 2018-04-19
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多