CONDA VIRTUAL_ENV环境变量 [英] Conda VIRTUAL_ENV environment variable

查看:26
本文介绍了CONDA VIRTUAL_ENV环境变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可靠的方法自动更新(或设置)等于环境变量的环境变量?例如在运行conda activate <env_name>conda deactivate时?

理想情况下,当我创建新环境时,我也不想做任何额外的事情。例如,如果Iconda create -n <env_name> && conda activate <env_name>,则应自动更新VIRTUAL_ENV环境变量。

我希望将此作为一个解决方案,用于使用VIRTUAL_ENV变量修改提示符显示的任何外壳程序(当前在MacOS上使用zsh)主题。

推荐答案

conda已在激活时更新CONDA_DEFAULT_ENV变量,有关详细信息,请参阅this answer。如果将提示符修改为使用此变量而不是VIRTUAL_ENV

,可能会更容易/更标准
# from the base env activate the prophet env
echo $CONDA_DEFAULT_ENV &&  
  conda activate prophet && 
  echo $CONDA_DEFAULT_ENV
# base
# prophet

这是一些著名的zsh主题使用的代码:StarshipSpaceship

// Reference implementation: https://github.com/denysdovhan/spaceship-prompt/blob/master/sections/conda.zsh
let conda_env = context.get_env("CONDA_DEFAULT_ENV").unwrap_or_default();

from Starship code

如果您想坚持使用自定义变量,您可以创建一个脚本来包装所有命令并定义v,但这有点老套。

ENV_NAME=my-env
conda create -n $ENV_NAME -y && 
  conda env config vars set VIRTUAL_ENV=$ENV_NAME -n $ENV_NAME && 
  conda activate $ENV_NAME && 
  echo "$VIRTUAL_ENV"
# my-env

这篇关于CONDA VIRTUAL_ENV环境变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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