Sdílet prostřednictvím


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.

  1. Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.

  2. V projektu přejděte na stránku Kanály . Pak zvolte akci, která vytvoří nový kanál.

  3. Projděte si kroky průvodce tak, že nejprve vyberete GitHub jako umístění zdrojového kódu.

  4. Můžete být přesměrováni na GitHub kvůli přihlášení. Pokud ano, zadejte svoje přihlašovací údaje GitHubu.

  5. Jakmile se zobrazí seznam úložišť, vyberte ukázkové úložiště Anaconda.

  6. Azure Pipelines analyzuje kód ve vašem úložišti a zjistí existující azure-pipelines.yml soubor.

  7. Vyberte Spustit.

  8. 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í callv pipeline.

Jak můžu spouštět testy s více verzemi Pythonu?

Viz Vytváření aplikací v Pythonu v Azure Pipelines.