Я создаю среду conda внутри Makefile. Однако, если эта среда уже создана, я бы хотел пропустить этот шаг. Как я могу проверить следующее:
- Уже существует среда с таким именем? Будет ли достаточно простой проверки каталогов?
- Эта среда уже активирована? Необязательный. Думаю, не повредит, если env активируется дважды.
CONDA_ENV_NAME := myname
ifeq (,$(shell which conda))
HAS_CONDA=False
else
HAS_CONDA=True
CONDA_ACTIVATE=source $$(conda info --base)/etc/profile.d/conda.sh ; conda activate ; conda activate
endif
environment:
ifeq (True,$(HAS_CONDA))
@echo ">>> Detected conda, creating conda environment."
## Here I'd like to check if this environment already exists
conda env create -f environment.yml -n $(CONDA_ENV_NAME)
## ... and if the env should be activated (optional)
$(CONDA_ACTIVATE) $(CONDA_ENV_NAME)
else
@echo ">>> Install conda first."
endif