【问题标题】:Auto-activate conda env when changing directory更改目录时自动激活 conda env
【发布时间】:2019-07-01 13:25:12
【问题描述】:

我在不同项目中使用的 conda 环境很少,比如:

  • ml37(用于机器学习)
  • etl37(用于数据管道)

我在自己的目录中组织了本地项目:

  • apps/some_app
  • apps/other_app
  • ...

每次我cd 到一个特定的项目时,我已经知道我想使用哪个环境。所以我每次更改目录时都会做conda activate [some env]。我觉得必须有更好的方法。

什么是自动化的干净方法?

还是我对 conda 环境的使用有误?

【问题讨论】:

    标签: conda


    【解决方案1】:

    我做了一个类似于 Corey Chafer 的脚本,但是这个扩展了 cd 命令。

    cd() { builtin cd "$@" && 
    if [ -f $PWD/.conda_config ]; then
        export CONDACONFIGDIR=$PWD
        conda activate $(cat .conda_config)
    elif [ -n $CONDACONFIGDIR ]; then
        if [[ $PWD != *"$CONDACONFIGDIR"* ]]; then
            export CONDACONFIGDIR=""
            conda deactivate
        fi
    fi }
    

    将这几行代码放在 shell 配置文件的底部,然后在要为其激活 env 的目录中创建一个 .conda_config 文件。 .conda_config 文件必须只包含环境名称。

    这样,每次你 cd 进入一个有 .conda_config 文件的目录时,脚本都会激活 env,每次你 cd out 时它都会停用。

    我创建了一个 repo 供参考Conda-autoactivate-env

    【讨论】:

    • 确认它对我很有用。干杯。
    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 2021-12-27
    相关资源
    最近更新 更多