Spouštění kanálů s prostředími Anaconda
Azure DevOps Services
Zjistěte, jak ve svém kanálu nastavit a používat Anacondu s Pythonem. Anaconda je distribuce Pythonu pro datové vědy a strojové učení.
Začínáme
Postupujte podle těchto pokynů a nastavte kanál pro ukázkovou aplikaci v Pythonu s prostředím Anaconda.
Přihlaste se ke své organizaci Azure DevOps a přejděte do svého projektu.
V projektu přejděte na stránku Pipelines (Kanály ). Pak zvolte akci pro vytvoření nového kanálu.
Projděte si kroky průvodce tak, že nejprve jako umístění zdrojového kódu vyberete GitHub .
Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte své přihlašovací údaje GitHubu.
Jakmile se zobrazí seznam úložišť, vyberte ukázkové úložiště Anaconda.
Azure Pipelines bude analyzovat kód ve vašem úložišti a rozpozná existující
azure-pipelines.yml
soubor.Vyberte Run (Spustit).
Spustí se nové spuštění. Počkejte na dokončení.
Tip
Pokud chcete v souboru YAML provést změny, jak je popsáno v tomto tématu, vyberte kanál na stránce Pipelines (Kanály ) a pak vyberte Edit the azure-pipelines.yml
file (Upravit soubor).
Přidání conda do systémové cesty
U hostovaných agentů je conda ve výchozím nastavení vynechán PATH
, aby jeho verze Pythonu nezůstala v konfliktu s jinými nainstalovanými verzemi. Příkaz task.prependpath
agenta ho zpřístupní všem dalším krokům.
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH
Vytvoření prostředí
Z argumentů příkazového řádku
Příkaz conda create
vytvoří prostředí s argumenty, které mu předáte.
- bash: conda create --yes --quiet --name myEnvironment
displayName: Create Anaconda environment
Z YAML
Můžete vrátit soubor se změnami environment.yml
do vašeho úložiště, který definuje konfiguraci prostředí Anaconda.
- script: conda env create --quiet --file environment.yml
displayName: Create Anaconda environment
Poznámka
Pokud používáte agenta v místním prostředí a prostředí na konci neodeberete, zobrazí se při dalším sestavení chyba, protože prostředí už existuje. Pokud chcete tento problém vyřešit, použijte --force
argument : conda env create --quiet --force --file environment.yml
.
Poznámka
Pokud používáte agenty v místním prostředí, kteří sdílejí úložiště, a spouštíte úlohy paralelně pomocí stejných prostředí Anaconda, můžou mezi těmito prostředími docházet ke konfliktům.
Pokud chcete tento problém vyřešit, použijte jako hodnotu argumentu --name
a jedinečný identifikátor, například zřetězení s $(Build.BuildNumber)
proměnnou sestavení.
Instalace balíčků z Anacondy
Následující YAML nainstaluje scipy
balíček do prostředí conda s názvem myEnvironment
.
- bash: |
source activate myEnvironment
conda install --yes --quiet --name myEnvironment scipy
displayName: Install Anaconda packages
Spuštění kroků kanálu v prostředí Anaconda
Poznámka
Každý krok sestavení běží ve vlastním procesu.
Když aktivujete prostředí Anaconda, bude upravovat PATH
a provádět další změny svého aktuálního procesu.
Proto musí být prostředí Anaconda aktivováno samostatně pro každý krok.
- bash: |
source activate myEnvironment
python -m pytest --junitxml=junit/unit-test.xml
displayName: pytest
- task: PublishTestResults@2
inputs:
testResultsFiles: 'junit/*.xml'
condition: succeededOrFailed()
Nejčastější dotazy
Proč se mi zobrazuje chyba Oprávnění odepřeno?
V hostovaném systému macOS nemá uživatel agenta vlastnictví adresáře, ve kterém je nainstalovaná aplikace Miniconda. Opravu najdete na kartě Hostovaný macOS v části Přidání conda do systémové cesty.
Proč build přestane reagovat v conda create
kroku nebo conda install
?
Pokud zapomenete předat --yes
, conda se zastaví a počká na interakci uživatele.
Proč se můj skript ve Windows po aktivaci prostředí zastavuje?
Ve Windows activate
je skript Batch. K obnovení spouštění skriptu po aktivaci musíte použít call
příkaz .
Podívejte se na příklady použití call
v kanálu.
Jak můžu testy spouštět s více verzemi Pythonu?
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro