Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services
Skonfiguruj Anacondę i używaj jej z Pythonem w swoim potoku. Anaconda to dystrybucja języka Python do nauki o danych i uczenia maszynowego.
Wymagania wstępne
Język Python jest wstępnie zainstalowany na agentach hostowanych przez firmę Microsoft dla systemów Linux, macOS i Windows. Nie musisz konfigurować jeszcze nic więcej w celu kompilowania projektów języka Python. Aby zobaczyć, które wersje języka Python są wstępnie zainstalowane, zobacz Oprogramowanie.
| produkt | Wymagania |
|---|---|
| Azure DevOps | — Projekt usługi Azure DevOps. — Możliwość uruchamiania pipeline'ów na agentach hostowanych przez firmę Microsoft. Możesz kupić zadanie równoległe lub poprosić o bezpłatny poziom. — Podstawowa wiedza na temat języka YAML i usługi Azure Pipelines. Aby uzyskać więcej informacji, zobacz Utwórz swój pierwszy potok. - Uprawnienia: - Aby utworzyć potok: musisz należeć do grupy Contributorzy, a grupa musi mieć uprawnienie Utworzyć potok ustawione na Zezwalaj. Członkowie grupy Administratorzy projektu mogą zarządzać potokami. - Aby utworzyć połączenia usług: musisz mieć rolę Administrator lub Twórca dla połączeń usług. |
| GitHub | — Konto usługi GitHub . — Połączenie usługi GitHub w celu autoryzowania usługi Azure Pipelines. |
Wprowadzenie
Postępuj zgodnie z tymi instrukcjami, aby skonfigurować potok dla przykładowej aplikacji języka Python ze środowiskiem Anaconda.
Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.
W projekcie przejdź do strony Potoki . Następnie wybierz działanie, aby utworzyć nowy pipeline.
Najpierw przejdź przez kroki kreatora, wybierając GitHub jako lokalizację kodu źródłowego.
Być może nastąpi przekierowanie do usługi GitHub w celu zalogowania się. Jeśli tak, wprowadź poświadczenia GitHub.
Po wyświetleniu listy repozytoriów wybierz przykładowe repozytorium Anaconda.
Usługa Azure Pipelines analizuje kod w repozytorium i wykrywa istniejący
azure-pipelines.ymlplik.Wybierz Uruchom.
Uruchomiono nowy przebieg. Poczekaj na zakończenie przebiegu.
Napiwek
Aby wprowadzić zmiany w pliku YAML zgodnie z opisem w tym artykule, wybierz potok na stronie Potoki , a następnie edytujazure-pipelines.yml plik.
Dodaj conda do ścieżki systemowej
Na hostowanych agentach, conda nie jest domyślnie uwzględniana w PATH, aby zapobiec konfliktowi wersji języka Python z innymi zainstalowanymi wersjami. Użyj polecenia agenta task.prependpath , aby zapewnić dostęp do conda we wszystkich kolejnych krokach.
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH
Utwórz środowisko
Z argumentów wiersza polecenia
Polecenie conda create tworzy środowisko z przekazanymi argumentami.
- bash: conda create --yes --quiet --name myEnvironment
displayName: Create Anaconda environment
Z pliku YAML
Możesz zaewidencjonować plik w environment.yml repozytorium, który definiuje konfigurację środowiska Anaconda.
- script: conda env create --quiet --file environment.yml
displayName: Create Anaconda environment
Uwaga
Jeśli używasz własnego agenta i nie usuwasz środowiska na końcu, w następnej kompilacji wystąpi błąd, ponieważ środowisko już istnieje. Aby rozwiązać ten problem, usuń środowisko przed utworzeniem nowego środowiska za pomocą polecenia conda env remove --name your-env-name.
Uwaga
Jeśli używasz samodzielnie hostowanych agentów, które współdzielą pamięć i uruchamiają zadania równolegle przy użyciu tych samych środowisk Anaconda, może dochodzić do konfliktów między tymi środowiskami. Aby rozwiązać ten problem, użyj argumentu --name i unikatowego identyfikatora jako wartości argumentu, na przykład poprzez konkatenację ze zmienną kompilacji $(Build.BuildNumber).
Instalowanie pakietów z platformy Anaconda
Poniższy kod YAML instaluje pakiet scipy w środowisku conda o nazwie myEnvironment.
- bash: |
conda activate myEnvironment
conda install --yes --quiet --name myEnvironment scipy
displayName: Install Anaconda packages
Uruchamianie kroków przepływu w środowisku Anaconda
Uwaga
Każdy krok kompilacji działa we własnym procesie.
Po aktywowaniu środowiska Anaconda edytowany jest plik PATH i następują inne zmiany w bieżącym procesie.
Dlatego aktywuj środowisko Anaconda oddzielnie dla każdego kroku.
- bash: |
conda activate myEnvironment
python -m pytest --junitxml=junit/unit-test.xml
displayName: pytest
- task: PublishTestResults@2
inputs:
testResultsFiles: 'junit/*.xml'
condition: succeededOrFailed()
Często zadawane pytania
Dlaczego występuje błąd "Odmowa uprawnień"?
W systemie macOS hostowany użytkownik agenta nie jest właścicielem katalogu, w którym zainstalowano narzędzie Miniconda. Aby rozwiązać ten problem, przejdź do karty "Hostowany system macOS" w obszarze Dodaj conda do ścieżki systemowej.
Dlaczego moja kompilacja przestaje odpowiadać podczas kroku conda create lub conda install?
Jeśli nie przekażesz --yes, conda zatrzymuje się i czeka na wprowadzenie danych przez użytkownika.
Dlaczego mój skrypt w systemie Windows jest zatrzymywany po aktywowaniu środowiska?
W systemie Windows activate jest skryptem Batch. Należy użyć polecenia , call aby wznowić uruchamianie skryptu po aktywowaniu.
Zobacz przykłady użycia callw potoku danych.
Jak mogę uruchomić testy z wieloma wersjami języka Python?
Przejdź do obszaru Tworzenie aplikacji języka Python w usłudze Azure Pipelines.