#python #powershell #azure-pipelines #conda
#python #powershell #azure-конвейеры #conda
Вопрос:
Как вы используете conda в задаче powershell в конвейерах Azure? Например, следующий azure yaml:
trigger:
- master
jobs:
- job: BuildWindows
timeoutInMinutes: "0"
pool:
vmImage: 'windows-latest'
steps:
- powershell: Write-Host "##vso[task.prependpath]$env:CONDAScripts"
displayName: Add conda to PATH
- powershell: |
echo "Where.exe conda: "
where.exe conda
echo "Where.exe pip: "
where.exe pip
conda shell.powershell hook
conda create -y --name pyomexmeta python=3.8
conda activate pyomexmeta
displayName: test Python on windows
Сбой с:
2020-11-21T19:18:24.7250650Z ##[section]Starting: test Python on windows
2020-11-21T19:18:24.7369794Z ==============================================================================
2020-11-21T19:18:24.7370464Z Task : PowerShell
2020-11-21T19:18:24.7370865Z Description : Run a PowerShell script on Linux, macOS, or Windows
2020-11-21T19:18:24.7371259Z Version : 2.177.0
2020-11-21T19:18:24.7371605Z Author : Microsoft Corporation
2020-11-21T19:18:24.7372055Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
2020-11-21T19:18:24.7372562Z ==============================================================================
2020-11-21T19:18:25.6406075Z Generating script.
2020-11-21T19:18:25.6807383Z ========================== Starting Command Output ===========================
2020-11-21T19:18:25.7048889Z ##[command]"C:windowsSystem32WindowsPowerShellv1.0powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:a_tempd9696f4e-d3a9-4aee-a6e6-efdce796a9b3.ps1'"
2020-11-21T19:18:25.9468041Z Where.exe conda:
2020-11-21T19:18:26.0308376Z C:MinicondaScriptsconda.exe
2020-11-21T19:18:26.6731419Z Where.exe pip:
2020-11-21T19:18:26.6855448Z C:MinicondaScriptspip.exe
2020-11-21T19:18:26.6924643Z C:hostedtoolcachewindowsPython3.7.9x64Scriptspip.exe
2020-11-21T19:18:33.3361701Z $Env:CONDA_EXE = "C:MinicondaScriptsconda.exe"
2020-11-21T19:18:33.3363714Z $Env:_CE_M = ""
2020-11-21T19:18:33.3364965Z $Env:_CE_CONDA = ""
2020-11-21T19:18:33.3366125Z $Env:_CONDA_ROOT = "C:Miniconda"
2020-11-21T19:18:33.3367250Z $Env:_CONDA_EXE = "C:MinicondaScriptsconda.exe"
2020-11-21T19:18:33.3368113Z
2020-11-21T19:18:33.3369110Z Import-Module "$Env:_CONDA_ROOTshellcondabinConda.psm1"
2020-11-21T19:18:33.3370158Z conda activate base
2020-11-21T19:18:33.3370935Z
2020-11-21T19:18:44.6508284Z Add-CondaEnvironmentToPromptCollecting package metadata (current_repodata.json): ...working... done
2020-11-21T19:18:44.7146158Z Solving environment: ...working... done
2020-11-21T19:18:45.8963316Z
2020-11-21T19:18:45.8965065Z ## Package Plan ##
2020-11-21T19:18:45.8966007Z
2020-11-21T19:18:45.8967184Z environment location: C:Minicondaenvspyomexmeta
2020-11-21T19:18:45.8968041Z
2020-11-21T19:18:45.8968657Z added / updated specs:
2020-11-21T19:18:45.8969167Z - python=3.8
2020-11-21T19:18:45.8969498Z
2020-11-21T19:18:45.8969773Z
2020-11-21T19:18:45.8970296Z The following packages will be downloaded:
2020-11-21T19:18:45.8970730Z
2020-11-21T19:18:45.8971222Z package | build
2020-11-21T19:18:45.8971936Z ---------------------------|-----------------
2020-11-21T19:18:45.8972579Z ca-certificates-2020.10.14 | 0 122 KB
2020-11-21T19:18:45.8973292Z certifi-2020.6.20 | pyhd3eb1b0_3 155 KB
2020-11-21T19:18:45.8973980Z openssl-1.1.1h | he774522_0 4.8 MB
2020-11-21T19:18:45.8974681Z pip-20.2.4 | py38haa95532_0 1.8 MB
2020-11-21T19:18:45.8975408Z python-3.8.5 | h5fd99cc_1 15.7 MB
2020-11-21T19:18:45.8976168Z setuptools-50.3.1 | py38haa95532_1 730 KB
2020-11-21T19:18:45.8976885Z sqlite-3.33.0 | h2a8f88b_0 809 KB
2020-11-21T19:18:45.8977602Z vs2015_runtime-14.16.27012 | hf0eaf9b_3 1.2 MB
2020-11-21T19:18:45.8978299Z wheel-0.35.1 | pyhd3eb1b0_0 38 KB
2020-11-21T19:18:45.8979018Z ------------------------------------------------------------
2020-11-21T19:18:45.8979750Z Total: 25.3 MB
2020-11-21T19:18:45.8980280Z
2020-11-21T19:18:45.8980787Z The following NEW packages will be INSTALLED:
2020-11-21T19:18:45.8981264Z
2020-11-21T19:18:45.8981800Z ca-certificates pkgs/main/win-64::ca-certificates-2020.10.14-0
2020-11-21T19:18:45.8982565Z certifi pkgs/main/noarch::certifi-2020.6.20-pyhd3eb1b0_3
2020-11-21T19:18:45.8985242Z openssl pkgs/main/win-64::openssl-1.1.1h-he774522_0
2020-11-21T19:18:45.8985950Z pip pkgs/main/win-64::pip-20.2.4-py38haa95532_0
2020-11-21T19:18:45.8986670Z python pkgs/main/win-64::python-3.8.5-h5fd99cc_1
2020-11-21T19:18:45.8987418Z setuptools pkgs/main/win-64::setuptools-50.3.1-py38haa95532_1
2020-11-21T19:18:45.8988138Z sqlite pkgs/main/win-64::sqlite-3.33.0-h2a8f88b_0
2020-11-21T19:18:45.8988862Z vc pkgs/main/win-64::vc-14.1-h0510ff6_4
2020-11-21T19:18:45.8989595Z vs2015_runtime pkgs/main/win-64::vs2015_runtime-14.16.27012-hf0eaf9b_3
2020-11-21T19:18:45.8990372Z wheel pkgs/main/noarch::wheel-0.35.1-pyhd3eb1b0_0
2020-11-21T19:18:45.8991098Z wincertstore pkgs/main/win-64::wincertstore-0.2-py38_0
2020-11-21T19:18:45.8991854Z zlib pkgs/main/win-64::zlib-1.2.11-h62dcd97_4
2020-11-21T19:18:45.8992345Z
2020-11-21T19:18:45.8992645Z
2020-11-21T19:18:45.8992935Z
2020-11-21T19:18:45.8993392Z Downloading and Extracting Packages
2020-11-21T19:18:45.8993779Z
2020-11-21T19:18:46.0606199Z ca-certificates-2020 | 122 KB | | 0%
2020-11-21T19:18:46.3201036Z ca-certificates-2020 | 122 KB | #3 | 13%
2020-11-21T19:18:46.3208946Z ca-certificates-2020 | 122 KB | ########## | 100%
2020-11-21T19:18:46.3209635Z
2020-11-21T19:18:46.4208293Z python-3.8.5 | 15.7 MB | | 0%
2020-11-21T19:18:55.2329037Z python-3.8.5 | 15.7 MB | #####4 | 55%
2020-11-21T19:18:55.2337137Z python-3.8.5 | 15.7 MB | ########## | 100%
2020-11-21T19:18:55.2337902Z
2020-11-21T19:18:55.3156046Z wheel-0.35.1 | 38 KB | | 0%
2020-11-21T19:18:55.3160662Z wheel-0.35.1 | 38 KB | ########## | 100%
2020-11-21T19:18:55.3161491Z
2020-11-21T19:18:55.7648286Z setuptools-50.3.1 | 730 KB | | 0%
2020-11-21T19:18:55.7655999Z setuptools-50.3.1 | 730 KB | ########## | 100%
2020-11-21T19:18:55.7656876Z
2020-11-21T19:18:56.1110966Z openssl-1.1.1h | 4.8 MB | | 0%
2020-11-21T19:18:56.1118594Z openssl-1.1.1h | 4.8 MB | ########## | 100%
2020-11-21T19:18:56.1119349Z
2020-11-21T19:18:56.2886299Z vs2015_runtime-14.16 | 1.2 MB | | 0%
2020-11-21T19:18:56.2894106Z vs2015_runtime-14.16 | 1.2 MB | ########## | 100%
2020-11-21T19:18:56.2894923Z
2020-11-21T19:18:56.3944261Z sqlite-3.33.0 | 809 KB | | 0%
2020-11-21T19:18:56.3951479Z sqlite-3.33.0 | 809 KB | ########## | 100%
2020-11-21T19:18:56.3952159Z
2020-11-21T19:18:56.4634465Z certifi-2020.6.20 | 155 KB | | 0%
2020-11-21T19:18:56.4639032Z certifi-2020.6.20 | 155 KB | ########## | 100%
2020-11-21T19:18:56.4639817Z
2020-11-21T19:19:01.8822350Z pip-20.2.4 | 1.8 MB | | 0%
2020-11-21T19:19:01.8827563Z pip-20.2.4 | 1.8 MB | ########## | 100%
2020-11-21T19:19:02.2061610Z Preparing transaction: ...working... done
2020-11-21T19:19:03.6698200Z Verifying transaction: ...working... done
2020-11-21T19:19:08.2531086Z Executing transaction: ...working... done
2020-11-21T19:19:08.2687568Z
2020-11-21T19:19:08.2688590Z #
2020-11-21T19:19:08.8382502Z
2020-11-21T19:19:08.8383618Z ==> WARNING: A newer version of conda exists. <==
2020-11-21T19:19:08.8384315Z current version: 4.8.3
2020-11-21T19:19:08.8384814Z latest version: 4.9.2
2020-11-21T19:19:08.8385137Z
2020-11-21T19:19:08.8385531Z Please update conda by running
2020-11-21T19:19:08.8385865Z
2020-11-21T19:19:08.8386300Z $ conda update -n base -c defaults conda
2020-11-21T19:19:08.8386667Z
2020-11-21T19:19:08.8386927Z
2020-11-21T19:19:08.8387204Z
2020-11-21T19:19:08.8387731Z CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
2020-11-21T19:19:08.8388441Z If using 'conda activate' from a batch script, change your
2020-11-21T19:19:08.8390039Z invocation to 'CALL conda.bat activate'.
2020-11-21T19:19:08.8390868Z
2020-11-21T19:19:08.8391400Z To initialize your shell, run
2020-11-21T19:19:08.8391835Z
2020-11-21T19:19:08.8392352Z $ conda init <SHELL_NAME>
2020-11-21T19:19:08.8392774Z
2020-11-21T19:19:08.8393317Z Currently supported shells are:
2020-11-21T19:19:08.8393849Z - bash
2020-11-21T19:19:08.8394890Z - cmd.exe
2020-11-21T19:19:08.8395366Z - fish
2020-11-21T19:19:08.8395850Z - tcsh
2020-11-21T19:19:08.8396303Z - xonsh
2020-11-21T19:19:08.8396781Z - zsh
2020-11-21T19:19:08.8397271Z - powershell
2020-11-21T19:19:08.8397672Z
2020-11-21T19:19:08.8398177Z See 'conda init --help' for more information and options.
2020-11-21T19:19:08.8398575Z
2020-11-21T19:19:08.8399108Z IMPORTANT: You may need to close and restart your shell after running 'conda init'.
2020-11-21T19:19:08.8399573Z
2020-11-21T19:19:08.8399826Z
2020-11-21T19:19:08.8400230Z # To activate this environment, use
2020-11-21T19:19:08.8400620Z #
2020-11-21T19:19:08.8401019Z # $ conda activate pyomexmeta
2020-11-21T19:19:08.8401417Z #
2020-11-21T19:19:08.8401807Z # To deactivate an active environment, use
2020-11-21T19:19:08.8402234Z #
2020-11-21T19:19:08.8402576Z # $ conda deactivate
2020-11-21T19:19:08.8402912Z
2020-11-21T19:19:08.9484524Z ##[error]PowerShell exited with code '1'.
2020-11-21T19:19:08.9857513Z ##[section]Finishing: test Python on windows
Сейчас я перепробовал множество вариантов этого, включая использование conda init powershell
(что раздражает, потому что он находится в конце моего 30-минутного конвейера).
Есть идеи, как создать и активировать среду conda в задаче powershell в Azure?
Комментарии:
1. Как указано в журнале:
If using 'conda activate' from a batch script, change your invocation to 'CALL conda.bat activate'.
вот официальный документ , на который вы можете ссылаться.2. Нет, это при использовании пакетного скрипта. Это powershell. Кроме того, я пробовал это, и это не сработало. ВЫЗОВ даже не является допустимой командой powershell. Тем не менее, спасибо за усилия.
3.
conda activate
определяется только для интерактивных сеансов (это функция оболочки). Для программного запуска кода в среде можно использоватьconda run -n <env_name> <cmd>
. Смотритеconda run -h
.