Komut satırını (CLI) kullanarak Python paketlerini yayımlama ve kullanma

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts, Python paketlerini oluşturmanıza, barındırmanıza ve ekibinizle veya kuruluşunuzla paylaşmanıza olanak tanır. Yerel geliştirme ortamınızdaki komut satırından bir Azure Artifacts akışı kullanarak Python paketlerini yayımlayabilir ve kullanabilirsiniz.

Bu makalede şunları öğreneceksiniz:

  • Azure Artifacts akışı oluşturma.
  • Python artifacts-keyring paketi veya kişisel erişim belirteci (PAT) ile kimlik doğrulamasını ayarlayın.
  • Akışınızda Python paketleri yayımlayın.
  • Akışınızdan Python paketlerini kullanın.

Azure Pipelines'larınızda paketleri yayımlamak ve kullanmak için bkz . Azure Pipelines ile Python paketlerini yayımlama.

Önkoşullar

Aşağıdaki adımları çalıştırmak için şunlara sahip olmanız gerekir:

  • Bir Azure DevOps kuruluşu. Ücretsiz bir tane oluşturun.
  • Paketleme>Okuma kapsamına sahip bir kişisel erişim belirteci (PAT). Bir tane oluşturmak için bkz . PAT oluşturma.
  • Azure DevOps projesi. Projeniz yoksa bir proje oluşturun.
  • Python 3.9 veya üzeri yerel makinenizde yüklüdür. Python'ı buradan indirin.
  • pip 24.0 ve twine 5.0.0 veya üzeri.
  • Yerel makinenizden akışınıza yayımlamak için bir Python paketi.
  • Örnek Python paketi kullanılıyorsa:
    • Bir GitHub hesabı. Henüz yoksa ücretsiz bir GitHub hesabı oluşturun.
    • git yerel makinenizde yüklüdür.
  • Bir GitHub hesabı. Henüz yoksa ücretsiz bir GitHub hesabı oluşturun.
  • Azure DevOps Server koleksiyonuna erişim.
  • Paketleme>Okuma kapsamına sahip bir kişisel erişim belirteci (PAT). Bir tane oluşturmak için bkz . PAT oluşturma.
  • Azure DevOps projesi. Projeniz yoksa bir proje oluşturun.
  • Python 3.9 veya üzeri yerel geliştirme ortamınızda yüklüdür.
  • pip 24.0 ve twine 5.0.0 veya üzeri.
  • Örnek Python paketi kullanılıyorsa:
    • Bir GitHub hesabı. Henüz yoksa ücretsiz bir GitHub hesabı oluşturun.
    • git yerel makinenizde yüklüdür.

Azure Artifacts akışı oluşturma

Akışınız yoksa aşağıdaki adımları kullanarak bir akış oluşturun.

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. Yapıtlar'ı ve ardından Akış Oluştur'u seçin.

    A screenshot showing how to create a feed.

  3. Akışınız için aşağıdaki bilgileri girin:

    1. Akışınız için açıklayıcı bir Ad girin.
    2. Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
    3. pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
    4. Akışınızın Kapsamını belirtin.
  4. Oluştur'u belirleyin.

  1. Azure DevOps koleksiyonunuz gidin ve projenizi seçin.

  2. Yapıtlar'ı ve ardından Akış Oluştur'u seçin.

    A screenshot showing how to create a feed in DevOps Server.

  3. Akışınız için aşağıdaki bilgileri girin:

    1. Akışınız için açıklayıcı bir Ad girin.
    2. Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
    3. pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
    4. Akışınızın Kapsamını belirtin.
  4. Oluştur'u belirleyin.

  1. Azure DevOps koleksiyonunuz gidin ve projenizi seçin.

  2. Yapıtlar'ı seçin ve ardından Yeni bir akış oluşturmak için Akış Oluştur'u seçin.

  3. Akışınız için aşağıdaki bilgileri girin:

    1. Akışınız için açıklayıcı bir Ad girin.
    2. Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
    3. pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
    4. Akışınızın Kapsamını belirtin.
  4. Oluştur'u belirleyin.

  1. Azure DevOps koleksiyonunuz gidin ve projenizi seçin.

  2. Yapıtlar'ı seçin ve ardından Yeni bir akış oluşturmak için Akış Oluştur'u seçin.

  3. Akışınız için aşağıdaki bilgileri girin:

    1. Akışınız için açıklayıcı bir Ad girin.
    2. Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
    3. pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
  4. Oluştur'u belirleyin.

Yerel Python paketi oluşturma

Akışınızda yayımlamak için bir Python paketine ihtiyacınız vardır. Yayımlayacak bir paketiniz yoksa GitHub'dan örnek bir Python paketi kopyalayabilirsiniz.

Örnek Python paketini kopyalama

GitHub'dan örnek Python paketini kullanmak için aşağıdaki adımları kullanın.

  1. Aşağıdaki GitHub deposuna gidin:

    https://github.com/microsoft/python-package-template
    
  2. Deponun çatalını GitHub hesabınıza oluşturun.

  3. Çatallanmış deponuza gidin ve Kod'a tıklayın.

  4. Çatallanmış deponuzun URL'sini kopyalayın.

  5. Yerel makinenizdeki bir CLI'dan, çatallanmış deponuzdan kopyaladığınız URL'yi kullanarak depoyu yerel makinenize kopyalayın.

    git clone <REPOSIORY_URL>
    
  6. Dizini kopyalanmış deponuzla değiştirin.

    cd python-package-template
    

Paketinizi oluşturma

Tekerlek ve kaynak dağıtımınızı oluşturmak için proje dizininizde aşağıdaki komutları çalıştırın:

pip install --upgrade build
python -m build

Python projenizde bir setup.py dosya varsa, paketinizi oluşturmak için aşağıdaki komutu kullanabilirsiniz:

python setup.py sdist bdist_wheel

Beslenen Bağlan

Python paketlerinizi yayımlamak veya kullanmak için bir akışa bağlanmanın iki birincil yolu vardır:

  1. Sizin için kimlik doğrulamasını otomatik olarak ayarlayan artifacts-keyring paketini kullanın.
  2. Pat ile kimlik bilgilerini el ile ayarlayın.

Not

artifacts-keyring , Ubuntu'nun daha yeni sürümlerinde desteklenmez.

Not

Kuruluşunuz güvenlik duvarı veya ara sunucu kullanıyorsa Azure Artifacts Etki Alanı URL'lerine ve IP adreslerine izin verin.

Kimlik doğrulaması için artifacts-keyring ayarlama

Artifacts-keyring paketi Python anahtarlık paketiyle birlikte çalışarak Python paketlerinizi akışınızda ve akışınızdan yayımlamak ve kullanmak üzere kimlik doğrulamasını ayarlamanıza olanak sağlar. Hem pip hem de twine, kimlik bilgilerini bulmak için Python anahtarlama paketini kullanır.

Önemli

Artifacts-keyring kullanmak için pip 19.2 ve twine 1.13.0 veya üzeri olmalıdır. Daha fazla bilgi için bkz . Kullanım gereksinimleri.

artifacts-keyring kullanmayı seçerseniz, kullanabilmeniz için önce paketi yüklemeniz gerekir.

Yükseltilmiş komut istemi penceresinde artifacts-keyring paketini yüklemek için aşağıdaki komutu çalıştırın:

pip install artifacts-keyring

Python paketlerini yayımlama

Artifacts-keyring paketini veya PAT kimlik doğrulamasını kullanarak akışınızda Python paketleri yayımlayabilirsiniz.

Artifacts-keyring ile paketleri yayımlama

  1. Akışınızdan beslemek için Bağlan seçin.

    A screenshot highlighting the connect to feed.

  2. Proje kurulumu bölümünden twine seçeneğini belirleyin ve depo URL'sini kopyalayın.

    A screenshot of instructions to connect to feed with twine.

  3. Akışınızda paket yayımlamak için, FEED_URL> Bağlan akış iletişim kutusundan kopyaladığınız depo URL'si ile değiştirerek <aşağıdaki komutu çalıştırın:

    twine upload --repository-url <FEED_URL> dist/*
    

PAT kimlik doğrulaması ile paketleri yayımlama

Paketinizi Azure Artifacts akışınıza yüklemek için twine kullanın.

  1. Azure DevOps Projenize gidin ve Yapıtlar'ı seçin.

  2. Akışınızı seçin ve akış için Bağlan seçin.

    A screenshot highlighting the connect to feed.

  3. Python bölümünün altında twine seçeneğini belirleyin.

    A screenshot highlighting the twine package type.

  4. Geliştirme makinenizde twine'nin yüklü olduğundan emin olun.

    pip install --upgrade twine
    
  5. Dosyanızı .pypirc ayarlamak için Proje kurulumu bölümündeki yönergeleri izleyin.

    A screenshot highlighting the `.pyirc` file content.

  6. Bir paketi her yayımladığınızda kişisel erişim belirtecinizi girmenize gerek kalmaması için kimlik bilgilerinizi dosyaya .pypirc ekleyebilirsiniz. Kişisel erişim belirtecinizi genel bir depoda denetlemediğinizden emin olun.

    Kimlik bilgilerine sahip bir .pypirc dosya örneği:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Paketinizi karşıya yüklemek için proje dizininizde aşağıdaki komutu çalıştırın ve <FEED_NAME> akışınızın adını yazın. Windows'da, dosya konumunu seçeneğiyle --config-file belirtmeniz pypirc gerekebilir.

    twine upload --repository <FEED_NAME> dist/*
    

Python paketlerini kullanma

Artifacts-keyring paketini veya PAT kimlik doğrulamasını kullanarak akışınızdan Python paketlerini kullanabilirsiniz.

Artifacts-keyring ile paketleri kullanma

  1. Projenizde Yapıtlar'ı ve ardından akışınızı seçin.

  2. Beslemek için Bağlan seçin.

    A screenshot highlighting the connect to feed button.

  3. Python bölümünün altında pip'i seçin.

    A screenshot of pip selection in Connect to feed.

  4. Yerel Python ortamınızı hazırlayın.

    1. Pip'in yüklendiğinden ve güncel olduğundan emin olun:

      python -m pip install --upgrade pip
      
    2. Python sanal ortamı oluşturmak ve etkinleştirmek için:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. index-urlBağlan akış iletişim kutusunun Proje kurulumu bölümünden öğesini kopyalayın.

    A screenshot of the index-url in the Connect to feed dialog.

  6. Akışınızdan bir paket yüklemek için, aşağıdaki komutu çalıştırarak <PACKAGE_NAME> akışınızdaki paket adıyla ve <INDEX_URL> akışa Bağlan iletişim kutusundan kopyaladığınız dizin URL'si ile yazın:

    pip install <PACKAGE_NAME> --index-url <INDEX_URL>
    

Azure DevOps'a ilk kez bağlandığınızda kimlik bilgileri istenir. Kullanıcı adınızı (herhangi bir dize) ve kişisel erişim belirtecinizi uygun alanlara girin. Kimlik bilgileri yerel olarak önbelleğe alınır ve hizmeti bir sonraki kullanışınızda otomatik olarak oturum açmak için kullanılır.

PAT kimlik doğrulaması ile paketleri kullanma

  1. Azure DevOps Projenize gidin ve Yapıtlar'ı seçin.

  2. Akışınızı seçin ve akış için Bağlan seçin.

    A screenshot highlighting the connect to feed button.

  3. Python bölümünün altında pip'i seçin.

    A screenshot highlighting the pip package type.

  4. Yerel Python ortamınızı hazırlayın.

    1. Pip'in yüklendiğinden ve güncel olduğundan emin olun:

      python -m pip install --upgrade pip
      
    2. Python sanal ortamı oluşturma ve etkinleştirme:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Sanal ortamınızın kök dizinine bir pip.ini (Windows) veya pip.conf (Mac/Linux) dosyası ekleyin. akış iletişim kutusunun Bağlan Proje kurulumu bölümünden içeriği kopyalayın ve pip.ini veya pip.conf dosyanıza ekleyin.

    A screenshot highlighting the pip.ini file content.

  6. Akışınızdan her paket yüklediğinizde kişisel erişim belirtecinizi girmenizi önlemek için kimlik bilgilerinizi pip.ini veya pip.conf dosyasına ekleyebilirsiniz. Kişisel erişim belirtecinizi genel bir depoda denetlemediğinizden emin olun.

    Kimlik bilgilerine sahip bir pip.ini veya pip.conf dosyası örneği:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Paketinizi yüklemek için aşağıdaki komutu çalıştırarak <PACKAGE_NAME> akışınızdaki paket adıyla değiştirin.

    pip install <PACKAGE_NAME>