Folyamatok futtatása Anaconda-környezetekkel
Azure DevOps Services
Megtudhatja, hogyan állíthatja be és használhatja az Anaconda-t a Pythonnal a folyamatban. Az Anaconda egy Python-disztribúció az adatelemzéshez és a gépi tanuláshoz.
Bevezetés
Az alábbi utasításokat követve beállíthat egy folyamatot egy minta Python-alkalmazáshoz az Anaconda-környezettel.
Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.
A projektben lépjen a Folyamatok lapra. Ezután válassza ki a műveletet egy új folyamat létrehozásához.
A varázsló lépéseit követve először válassza ki a GitHubot a forráskód helyeként.
Előfordulhat, hogy a rendszer átirányítja a GitHubra a bejelentkezéshez. Ha igen, adja meg a GitHub hitelesítő adatait.
Amikor megjelenik az adattárak listája, válassza ki az Anaconda-mintaadattárat.
Az Azure Pipelines elemzi az adattárban lévő kódot, és észlel egy meglévő
azure-pipelines.yml
fájlt.Válassza a Futtatás lehetőséget.
Elindul egy új futtatás. Várja meg, amíg a futtatás befejeződik.
Tipp
Ha módosítani szeretné a YAML-fájlt a jelen témakörben leírtak szerint, válassza ki a folyamatot a Folyamatok lapon, majd szerkessze a azure-pipelines.yml
fájlt.
Conda hozzáadása a rendszerútvonalhoz
Az üzemeltetett ügynökök esetében a Conda alapértelmezés szerint kimarad PATH
, hogy a Python-verziója ne ütközjön más telepített verziókkal. Az task.prependpath
ügynökparancs elérhetővé teszi az összes további lépéshez.
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH
Környezet létrehozása
Parancssori argumentumokból
A conda create
parancs létrehoz egy környezetet az átadott argumentumokkal.
- bash: conda create --yes --quiet --name myEnvironment
displayName: Create Anaconda environment
A YAML-ből
Beadhat egy environment.yml
fájlt az adattárba, amely meghatározza az Anaconda-környezet konfigurációját.
- script: conda env create --quiet --file environment.yml
displayName: Create Anaconda environment
Megjegyzés
Ha saját üzemeltetésű ügynököt használ, és a végén nem távolítja el a környezetet, hibaüzenet jelenik meg a következő buildben, mivel a környezet már létezik. A probléma megoldásához használja a --force
következő argumentumot: conda env create --quiet --force --file environment.yml
.
Megjegyzés
Ha saját üzemeltetésű ügynököket használ, amelyek tárolót osztanak meg, és ugyanazokat az Anaconda-környezeteket használva futtat párhuzamosan feladatokat, előfordulhat, hogy összeütközések vannak a környezetek között.
A probléma megoldásához használja az --name
argumentumot és egy egyedi azonosítót argumentumértékként, például a buildváltozóval való $(Build.BuildNumber)
összefűzést.
Csomagok telepítése az Anacondából
A következő YAML telepíti a scipy
csomagot a conda nevű myEnvironment
környezetben.
- bash: |
source activate myEnvironment
conda install --yes --quiet --name myEnvironment scipy
displayName: Install Anaconda packages
Folyamatlépések futtatása Anaconda-környezetben
Megjegyzés
Minden buildelési lépés a saját folyamatában fut.
Amikor aktivál egy Anaconda-környezetet, az módosítja PATH
és más módosításokat hajt végre az aktuális folyamaton.
Ezért az Anaconda-környezetet minden lépéshez külön kell aktiválni.
- bash: |
source activate myEnvironment
python -m pytest --junitxml=junit/unit-test.xml
displayName: pytest
- task: PublishTestResults@2
inputs:
testResultsFiles: 'junit/*.xml'
condition: succeededOrFailed()
Gyakori kérdések
Miért kapok "Engedély megtagadva" hibaüzenetet?
A üzemeltetett macOS-en az ügynök felhasználója nem rendelkezik a Miniconda telepítésére szolgáló könyvtár tulajdonjogával. A javítást a Conda hozzáadása a rendszerútvonalhoz területen található "Üzemeltetett macOS" lapon találhatja meg.
Miért nem válaszol a build egy conda create
vagy conda install
egy lépésre?
Ha elfelejti átadni a parancsot --yes
, a Conda leáll, és megvárja a felhasználói interakciót.
Miért áll le a windowsos szkriptem, miután aktiválta a környezetet?
Windows activate
rendszeren egy Batch-szkript. Az aktiválás után a call
parancsot kell használnia a szkript futtatásának folytatásához.
Példák a folyamatokban való használatracall
.
Hogyan futtathatom a teszteimet a Python több verziójával?
Lásd: Python-alkalmazások létrehozása az Azure Pipelinesban.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: