Почему создание среды conda из сценария оболочки приводит к преждевременному завершению работы сценария, и как я могу это исправить? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь создать сценарии. sh и .cmd, которые устанавливают среду conda. В сценариях после создания среды conda у меня есть дополнительные команды для установки некоторых пакетов «режима разработки». Однако сценарий завершается после выполнения команды conda env create (среда успешно создана). Есть ли способ убедиться, что вызов conda env create не завершает работу скрипта?

Вот код внутри скрипта:

# Clone repos to current directory
git clone https://github.com/int-brain-lab/ibllib.git --branch develop
git clone https://github.com/int-brain-lab/iblapps.git --branch develop
git clone https://github.com/int-brain-lab/analysis.git
git clone https://github.com/int-brain-lab/IBL-pipeline.git
# Create conda environment from the .yaml file and activate
conda env create -f iblenv.yaml python=3.8
source ~/anaconda3/etc/profile.d/conda.sh
conda activate iblenv
# Install repos in 'development mode'
conda-develop ./ibllib
conda-develop ./iblapps
conda-develop ./analysis
conda-develop ./IBL-pipeline

1 Ответ

0 голосов
/ 11 апреля 2020

Я считаю, что проблема здесь: source ~ / anaconda3 / etc / profile.d / conda. sh, если conda. sh содержит команду выхода, он прекратит выполнение сценария оболочки, потому что source означает, что conda. sh будет выполнено в текущем процессе.

Вы можете попытаться добавить echo до и после команды «source», чтобы проверить, что «conda env create» не самая последняя команда.

...