Anaconda ortamlarıyla işlem hatlarını çalıştırma
Azure DevOps Services
İşlem hattınızda Python ile Anaconda'yı ayarlamayı ve kullanmayı öğrenin. Anaconda, veri bilimi ve makine öğrenmesi için bir Python dağıtımıdır.
Kullanmaya başlayın
Anaconda ortamıyla örnek bir Python uygulaması için işlem hattı ayarlamak için bu yönergeleri izleyin.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Projenizde İşlem Hatları sayfasına gidin. Ardından eylemi seçerek yeni bir işlem hattı oluşturun.
İlk olarak kaynak kodunuzun konumu olarak GitHub'ı seçerek sihirbazın adımlarını izleyin.
Oturum açmak için GitHub'a yönlendirilebilirsiniz. Öyleyse GitHub kimlik bilgilerinizi girin.
Depo listesi görüntülendiğinde Anaconda örnek deponuzu seçin.
Azure Pipelines, deponuzdaki kodu analiz eder ve mevcut
azure-pipelines.yml
bir dosyayı algılar.Çalıştır seçin.
Yeni bir çalıştırma başlatılır. Çalıştırmanın bitmesini bekleyin.
İpucu
YAML dosyasında bu konuda açıklandığı gibi değişiklik yapmak için İşlem Hatları sayfasında işlem hattını seçin ve dosyayı düzenleyinazure-pipelines.yml
.
Sistem yolunuza conda ekleme
Barındırılan aracılarda, Python sürümünün PATH
diğer yüklü sürümlerle çakışmasını önleyecek şekilde conda varsayılan olarak dışında bırakılır. Aracı task.prependpath
komutu bunu sonraki tüm adımlarda kullanılabilir hale getirir.
- bash: echo "##vso[task.prependpath]$CONDA/bin"
displayName: Add conda to PATH
Ortam oluşturun
Komut satırı bağımsız değişkenlerinden
komutu, conda create
geçirdiğiniz bağımsız değişkenlerle bir ortam oluşturur.
- bash: conda create --yes --quiet --name myEnvironment
displayName: Create Anaconda environment
YAML'den
Anaconda ortamının yapılandırmasını tanımlayan bir dosyayı deponuza iade environment.yml
edebilirsiniz.
- script: conda env create --quiet --file environment.yml
displayName: Create Anaconda environment
Not
Şirket içinde barındırılan bir aracı kullanıyorsanız ve sonunda ortamı kaldırmıyorsanız, ortam zaten mevcut olduğundan bir sonraki derlemede hata alırsınız. Sorunu çözmek için şu bağımsız değişkenini --force
kullanın: conda env create --quiet --force --file environment.yml
.
Not
Depolamayı paylaşan şirket içinde barındırılan aracılar kullanıyorsanız ve işleri aynı Anaconda ortamlarını kullanarak paralel olarak çalıştırıyorsanız, bu ortamlar arasında çakışmalar olabilir.
Çözümlemek için bağımsız değişkenini --name
ve benzersiz tanımlayıcıyı derleme değişkeniyle $(Build.BuildNumber)
birleştirme gibi bağımsız değişken değeri olarak kullanın.
Anaconda'dan paketleri yükleme
Aşağıdaki YAML paketi adlı myEnvironment
conda ortamına yüklerscipy
.
- bash: |
source activate myEnvironment
conda install --yes --quiet --name myEnvironment scipy
displayName: Install Anaconda packages
Anaconda ortamında işlem hattı adımlarını çalıştırma
Not
Her derleme adımı kendi işleminde çalışır.
Bir Anaconda ortamını etkinleştirdiğinizde, ortamı düzenler PATH
ve geçerli işleminde başka değişiklikler yapar.
Bu nedenle, bir Anaconda ortamı her adım için ayrı ayrı etkinleştirilmelidir.
- bash: |
source activate myEnvironment
python -m pytest --junitxml=junit/unit-test.xml
displayName: pytest
- task: PublishTestResults@2
inputs:
testResultsFiles: 'junit/*.xml'
condition: succeededOrFailed()
SSS
Neden "İzin reddedildi" hatası alıyorum?
Barındırılan macOS'ta aracı kullanıcısı Miniconda'nın yüklü olduğu dizinin sahipliğine sahip değildir. Bir düzeltme için Sistem yolunuza conda ekleme altındaki "Barındırılan macOS" sekmesine bakın.
Derlemem bir conda create
veya conda install
adımda neden yanıt vermeyi durduruyor?
geçirmeyi --yes
unutursanız, conda durur ve kullanıcı etkileşimini bekler.
Windows'ta betiğim ortamı etkinleştirdikten sonra neden durduruluyor?
Windows'ta bir activate
Batch betiğidir. Etkinleştirdikten sonra betiğinizi çalıştırmaya devam etmek için komutunu kullanmanız call
gerekir.
İşlem hattında kullanma call
örneklerine bakın.
Testlerimi Python'ın birden çok sürümüyle nasıl çalıştırabilirim?
Bkz . Azure Pipelines'da Python uygulamaları oluşturma.