为方便起见,并且考虑到activate
-ing an environment is crazy slow,我想激活一个环境,然后开始一个tmux
会话。
我希望所有新的tmux
窗口也都激活了环境。
我希望不同的tmux
会话能够支持不同的anaconda环境。
我该怎么办?
是否有anaconda
/ miniconda
不支持的陷阱?
答案 0 :(得分:3)
我为解决此问题所做的事情是:
.tmux.conf
中,将CONDA_DEFAULT_ENV
环境变量复制到会话环境中
set-option -ga update-environment 'CONDA_DEFAULT_ENV'
.bashrc
中,如果已激活conda环境,请重新激活它:
if [ -n "$CONDA_DEFAULT_ENV" ]; then
__conda_reactivate
fi
注意1:假设__conda_reactivate
由于conda init
或类似原因而可用。
注意2:在较旧的conda版本中,它是_conda_reactivate
(只是一个下划线)。这比conda activate <env>
快,并且在创建不同的tmux会话之前可以使用不同的环境。
答案 1 :(得分:0)
最佳答案并不理想,正如 Tom Hale 所提到的,它相对较慢 - 特别是如果您需要多个窗格/窗口。
相反,在创建和组织新窗格的脚本中使用 CONDA_DEFAULT_ENV 变量。然后使用 tmux send-keys 在创建时激活新窗格中的原始 conda env。
请在此处查看我的回答以了解详情https://stackoverflow.com/a/66312869/8490364