как вы проверяете, активна ли какая-либо среда conda с флагом

#python #conda

#питон #конда

Вопрос:

Как я могу определить, активна ли какая-либо среда conda с флагом?

т. е. когда я пытаюсь бежать

 conda deactivate amp;amp; conda env list  

или когда я бегу

 conda activate amp;amp; conda env list  

они оба выводят одно и то же

 # conda environments: # base * /Users/name/opt/miniconda3  

Ответ №1:

Я сам нашел ответ. Существует CONDA_SHLVL переменная окружения.

 [[ $CONDA_SHLVL == 1 ]] amp;amp; echo "conda environment is active"  

Другим вариантом было бы запустить

conda info но вывод должен быть проанализирован

когда conda env не активен, он отобразится

 william‣ wmbp‣ ~ % conda info    active environment : None  ...  

Ответ №2:

В Mac OS вы также можете использовать conda env list , которая будет отображать все доступные среды со звездочкой рядом с активной в данный момент.

 $ conda env list # conda environments: # base /Users/yourname/miniconda3 dataEnv * /Users/yourname/miniconda3/envs/dataEnv webParsing /Users/yourname/miniconda3/envs/webParsing  

Комментарии:

1. Это не ясно показывает, когда не активен conda env, т. е. когда conda deactivate выполняется.

2. Спасибо, что указали на это. В Mac OS, использующей Zsh, по крайней мере, базовый env будет помечен как активный, если никакой другой env не был активирован. Не проверял, как это выглядит в других операционных системах или оболочках.