让tmux Windows继承`activate`d anaconda环境 [英] Have tmux windows inherit `activate`d anaconda environment

查看:175
本文介绍了让tmux Windows继承`activate`d anaconda环境的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为方便起见,并且考虑到 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, copy CONDA_DEFAULT_ENV environment variable to session environment
set-option -ga update-environment 'CONDA_DEFAULT_ENV'

  • .bashrc中,如果已激活conda环境,请重新激活它:

  • In .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屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆