CommandNotFoundError: Ваша оболочка не была правильно сконфигурирована для использования 'conda activ'.
Здесь проблема заключается в том, что ваш скрипт выполняется в под-оболочке, но conda
имеет не были инициализированы в этой под-оболочке.
Вам необходимо изменить активный скрипт на:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: |
eval "$(conda shell.bash hook)"
conda activate build_env
displayName: Active
Кроме того, не разделяйте Add PATH
, create environment
и active the environment
на разные должности.
Для Azure конвейера devops agent job
является базовой c единицей процесса выполнения конвейера, и каждое задание агента имеет свою собственную независимую среду выполнения и рабочий лог c.
Для более подробной информации вы использовали Размещенный агент для применения ваших сценариев в этом сценарии проблемы.
Пока запускается одно задание агента, наша система пула назначит ВМ для этого задания агента. И эта виртуальная машина будет переработана назад после завершения работы агента. Когда будет запущено следующее задание агента, совершенно новая виртуальная машина будет случайным образом переназначаться.
dependsOn
может только обмениваться файлами и передавать переменные между заданиями. Он не может продолжать работу виртуальной машины в следующей работе.
Я полагаю, что вы сможете угадать, с какой проблемой вы столкнетесь. Да, даже если вам удастся применить этот сценарий activate
, вы продолжите сталкиваться с другим error: Could not find conda environment: build_env
. Это связано с тем, что среда, используемая этим сценарием activate
, - это совершенно новая vm , виртуальная машина, на которой использовалось предыдущее задание build_environment
, была переработана системой.
Итак, не разделяйте среду создания и не активируйте на 2 задания агента:
- job: build_environment
displayName: Build Environment
dependsOn: pre_build_setup
steps:
- script: conda env create --file environment.yml --name build_env
displayName: Create Anaconda environment
- script: conda env list
displayName: environment installation verification
- task: Bash@3
inputs:
targetType: 'inline'
script: |
eval "$(conda shell.bash hook)"
conda activate build_env
displayName: Active