Spouštění potrubí s prostředími Anaconda
Služby Azure DevOps
Zjistěte, jak ve svém pracovním postupu nastavit a používat Anacondu 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.
Začíná nový běh. Počkejte na dokončení běhu.
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 azure-pipelines.yml
soubor.
Přidejte conda do systémové cesty
Na hostovaných agentech je conda ve výchozím nastavení vynechána PATH
, aby se předešlo konfliktům její verze Pythonu 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 environment.yml
můžete přidat do svého úložiště, čímž definujete konfiguraci pro prostředí Anaconda.
- script: conda env create --quiet --file environment.yml
displayName: Create Anaconda environment
Poznámka:
Pokud používáte samohostovaného agenta a nevypustíte 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
Provádění kroků procesů v Anaconda prostředí
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 prostředí Anaconda pro každý krok aktivované 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
?
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í 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 pipeline.