Sdílet prostřednictvím


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.

  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. 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.

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

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