Spouštění kanálů s prostředími Anaconda
Služby Azure DevOps
Zjistěte, jak ve svém kanálu nastavit a používat Anaconda s Pythonem. Anaconda je distribuce Pythonu pro datové vědy a strojové učení.
Začínáme
Podle těchto pokynů 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 k projektu.
V projektu přejděte na stránku Kanály . Pak zvolte akci, která vytvoří nový kanál.
Projděte si kroky průvodce tak, že nejprve vyberete GitHub jako umístění zdrojového kódu.
Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte svoje přihlašovací údaje GitHubu.
Jakmile se zobrazí seznam úložišť, vyberte ukázkové úložiště Anaconda.
Azure Pipelines analyzuje kód ve vašem úložišti a zjistí existující
azure-pipelines.yml
soubor.Vyberte Spustit.
Spustí se nové spuštění. Počkejte na dokončení.
Tip
Pokud chcete provést změny v souboru YAML, jak je popsáno v tomto tématu, vyberte kanál na stránce Pipelines a pak upravte azure-pipelines.yml
soubor.
Přidání conda do systémové cesty
Na hostovaných agentech je conda ve výchozím nastavení vynechán PATH
, aby jeho verze Pythonu zů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řit prostředí
Z argumentů příkazového řádku
Příkaz conda create
vytvoří prostředí s argumenty, které jí předáte.
- bash: conda create --yes --quiet --name myEnvironment
displayName: Create Anaconda environment
Pochází z YAML
Soubor můžete vrátit environment.yml
se změnami do úložiště, který definuje konfiguraci pro 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 neodeberete prostředí na konci, zobrazí se při příštím sestavení chyba, protože prostředí už existuje. K vyřešení 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ůže dojít ke konfliktům mezi těmito prostředími.
K vyřešení použijte --name
argument a jedinečný identifikátor jako hodnotu argumentu, například zřetězení s $(Build.BuildNumber)
proměnnou sestavení.
Instalace balíčků z Anaconda
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í se spouští ve vlastním procesu.
Když aktivujete prostředí Anaconda, upraví PATH
a provede další změny jeho aktuálního procesu.
Proto musí být pro každý krok aktivované prostředí Anaconda samostatně.
- 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 uživatel agenta nemá vlastnictví adresáře, na kterém je nainstalovaný Miniconda. Opravu najdete na kartě Hostovaný macOS v části Přidat conda do systémové cesty.
Proč můj build přestane reagovat na krok conda create
nebo conda install
krok?
Pokud zapomenete předat --yes
, conda zastaví a počká na interakci uživatele.
Proč se můj skript ve Windows po aktivaci prostředí zastaví?
Ve Windows activate
je skript batch. Po aktivaci musíte pomocí call
příkazu pokračovat ve spuštění skriptu.
Podívejte se na příklady použití call
v kanálu.