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.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Yapıtlar'ı ve ardından Akış Oluştur'u seçin.
Akışınız için aşağıdaki bilgileri girin:
- Akışınız için açıklayıcı bir Ad girin.
- Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
- pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
- Akışınızın Kapsamını belirtin.
Oluştur'u belirleyin.
Azure DevOps koleksiyonunuz gidin ve projenizi seçin.
Yapıtlar'ı ve ardından Akış Oluştur'u seçin.
Akışınız için aşağıdaki bilgileri girin:
- Akışınız için açıklayıcı bir Ad girin.
- Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
- pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
- Akışınızın Kapsamını belirtin.
Oluştur'u belirleyin.
Azure DevOps koleksiyonunuz gidin ve projenizi seçin.
Yapıtlar'ı seçin ve ardından Yeni bir akış oluşturmak için Akış Oluştur'u seçin.
Akışınız için aşağıdaki bilgileri girin:
- Akışınız için açıklayıcı bir Ad girin.
- Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
- pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
- Akışınızın Kapsamını belirtin.
Oluştur'u belirleyin.
Azure DevOps koleksiyonunuz gidin ve projenizi seçin.
Yapıtlar'ı seçin ve ardından Yeni bir akış oluşturmak için Akış Oluştur'u seçin.
Akışınız için aşağıdaki bilgileri girin:
- Akışınız için açıklayıcı bir Ad girin.
- Görünürlüğünü tanımlayın (akıştaki paketleri kimlerin görüntüleyebileceğini belirtir).
- pypi.org gibi genel kaynaklardan gelen paketlerin kullanılıp kullanılmayacağını seçin.
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.
Aşağıdaki GitHub deposuna gidin:
https://github.com/microsoft/python-package-template
Deponun çatalını GitHub hesabınıza oluşturun.
Çatallanmış deponuza gidin ve Kod'a tıklayın.
Çatallanmış deponuzun URL'sini kopyalayın.
Yerel makinenizdeki bir CLI'dan, çatallanmış deponuzdan kopyaladığınız URL'yi kullanarak depoyu yerel makinenize kopyalayın.
git clone <REPOSITORY_URL>
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:
- Sizin için kimlik doğrulamasını otomatik olarak ayarlayan artifacts-keyring paketini kullanın.
- 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
Akışınızdan beslemek için Bağlan seçin.
Proje kurulumu bölümünden twine seçeneğini belirleyin ve depo URL'sini kopyalayın.
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.
Azure DevOps Projenize gidin ve Yapıtlar'ı seçin.
Akışınızı seçin ve akış için Bağlan seçin.
Python bölümünün altında twine seçeneğini belirleyin.
Geliştirme makinenizde twine'nin yüklü olduğundan emin olun.
pip install --upgrade twine
Dosyanızı
.pypirc
ayarlamak için Proje kurulumu bölümündeki yönergeleri izleyin.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>
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
belirtmenizpypirc
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
Projenizde Yapıtlar'ı ve ardından akışınızı seçin.
Beslemek için Bağlan seçin.
Python bölümünün altında pip'i seçin.
Yerel Python ortamınızı hazırlayın.
Pip'in yüklendiğinden ve güncel olduğundan emin olun:
python -m pip install --upgrade pip
Python sanal ortamı oluşturmak ve etkinleştirmek için:
python -m venv myenv myenv/Scripts/activate
index-url
Bağlan akış iletişim kutusunun Proje kurulumu bölümünden öğesini kopyalayın.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
Azure DevOps Projenize gidin ve Yapıtlar'ı seçin.
Akışınızı seçin ve akış için Bağlan seçin.
Python bölümünün altında pip'i seçin.
Yerel Python ortamınızı hazırlayın.
Pip'in yüklendiğinden ve güncel olduğundan emin olun:
python -m pip install --upgrade pip
Python sanal ortamı oluşturma ve etkinleştirme:
python -m venv myenv myenv/Scripts/activate
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.
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] index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
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>