让tmux Windows继承`activate`d anaconda环境 [英] Have tmux windows inherit `activate`d anaconda environment
问题描述
为方便起见,并且考虑到 activate
-环境太慢了 ,我想激活一个环境,然后启动tmux
会话.
For convenience and given that activate
-ing an environment is crazy slow, I want to activate an environment and then start a tmux
session.
我希望所有新的tmux
窗口也都激活了环境.
I want all new tmux
windows to also have the environment activated.
我希望不同的tmux
会话能够支持不同的anaconda环境.
I want different tmux
sessions to be able to support different anaconda environments.
我该怎么办?
是否存在某些问题,例如anaconda
/miniconda
不支持此操作?
Are there any gotchas such that this isn't supported by anaconda
/ miniconda
?
推荐答案
我为解决此问题所做的事情是:
What I've done to address this problem is:
- 在
.tmux.conf
中,将CONDA_DEFAULT_ENV
环境变量复制到会话环境
- In
.tmux.conf
, copyCONDA_DEFAULT_ENV
environment variable to session environment
set-option -ga update-environment 'CONDA_DEFAULT_ENV'
.bashrc
中,如果已激活conda环境,请重新激活它:
.bashrc
, reactivate the conda environment if one was activated:
if [ -n "$CONDA_DEFAULT_ENV" ]; then
__conda_reactivate
fi
注1:假定由于conda init
或类似原因,__conda_reactivate
可用.
注意2:在较早版本的conda中,它是_conda_reactivate
(只是一个下划线).
Note 1: this assumes that __conda_reactivate
is available because of conda init
or similar.
Note 2: in older versions of conda, it's _conda_reactivate
(just one leading underscore).
这比conda activate <env>
快,并且在创建不同的tmux会话之前可以使用不同的环境.
This is faster than conda activate <env>
and also different environments can be used before creating different tmux sessions.
这篇关于让tmux Windows继承`activate`d anaconda环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!