Python-pakketten publiceren en gebruiken met behulp van de opdrachtregel (CLI)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Met Azure Artifacts kunt u Python-pakketten maken, hosten en delen met uw team of organisatie. U kunt Python-pakketten publiceren en gebruiken met behulp van een Azure Artifacts-feed vanaf de opdrachtregel in uw lokale ontwikkelomgeving.
In dit artikel leert u het volgende:
- Maak een Azure Artifacts-feed.
- Stel verificatie in met het Python artifacts-keyring-pakket of een persoonlijk toegangstoken (PAT).
- Python-pakketten publiceren naar uw feed.
- Python-pakketten uit uw feed gebruiken.
Als u pakketten in uw Azure Pipelines wilt publiceren en gebruiken, raadpleegt u Python-pakketten publiceren met Azure Pipelines.
Vereisten
Als u de volgende stappen wilt uitvoeren, moet u beschikken over:
- een Azure DevOps-organisatie. Maak gratis een account.
- Een persoonlijk toegangstoken (PAT) met het leesbereik voor pakketten>. Zie Een PAT maken om er een te maken.
- Een Azure DevOps-project. Als u nog geen project hebt, maakt u een project.
- Python 3.9 of hoger geïnstalleerd op uw lokale computer. Download Python hier.
- pip 24.0 en twine 5.0.0 of hoger.
- Een Python-pakket om vanaf uw lokale computer naar uw feed te publiceren.
- Als u het Python-voorbeeldpakket gebruikt:
- Een GitHub-account. Maak een gratis GitHub-account als u er nog geen hebt.
- Git geïnstalleerd op uw lokale computer.
- Een GitHub-account. Maak een gratis GitHub-account als u er nog geen hebt.
- Toegang tot een Azure DevOps Server-verzameling.
- Een persoonlijk toegangstoken (PAT) met het leesbereik voor pakketten>. Zie Een PAT maken om er een te maken.
- Een Azure DevOps-project. Als u nog geen project hebt, maakt u een project.
- Python 3.9 of hoger geïnstalleerd in uw lokale ontwikkelomgeving.
- pip 24.0 en twine 5.0.0 of hoger.
- Als u het Python-voorbeeldpakket gebruikt:
- Een GitHub-account. Maak een gratis GitHub-account als u er nog geen hebt.
- Git geïnstalleerd op uw lokale computer.
Een Azure Artifacts-feed maken
Als u geen feed hebt, gebruikt u de volgende stappen om er een te maken.
Meld u aan bij uw Azure DevOps-organisatie en ga vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens Feed maken.
Voer de volgende gegevens in voor uw feed:
- Voer een beschrijvende naam in voor uw feed.
- Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
- Selecteer of u pakketten uit openbare bronnen wilt gebruiken, zoals pypi.org.
- Geef het bereik van uw feed op.
Selecteer Maken.
Ga naar uw Azure DevOps-verzameling en selecteer uw project.
Selecteer Artefacten en selecteer vervolgens Feed maken.
Voer de volgende gegevens in voor uw feed:
- Voer een beschrijvende naam in voor uw feed.
- Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
- Selecteer of u pakketten uit openbare bronnen wilt gebruiken, zoals pypi.org.
- Geef het bereik van uw feed op.
Selecteer Maken.
Ga naar uw Azure DevOps-verzameling en selecteer uw project.
Selecteer Artefacten en selecteer Vervolgens Feed maken om een nieuwe feed te maken.
Voer de volgende gegevens in voor uw feed:
- Voer een beschrijvende naam in voor uw feed.
- Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
- Selecteer of u pakketten uit openbare bronnen wilt gebruiken, zoals pypi.org.
- Geef het bereik van uw feed op.
Selecteer Maken.
Ga naar uw Azure DevOps-verzameling en selecteer uw project.
Selecteer Artefacten en selecteer Vervolgens Feed maken om een nieuwe feed te maken.
Voer de volgende gegevens in voor uw feed:
- Voer een beschrijvende naam in voor uw feed.
- Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
- Kies of u pakketten wilt gebruiken uit openbare bronnen, zoals pypi.org.
Selecteer Maken.
Een lokaal Python-pakket maken
U hebt een Python-pakket nodig om naar uw feed te publiceren. Als u geen pakket hebt om te publiceren, kunt u een Python-voorbeeldpakket klonen vanuit GitHub.
Het Python-voorbeeldpakket klonen
Gebruik de volgende stappen om het Python-voorbeeldpakket van GitHub te gebruiken.
Ga naar de volgende GitHub-opslagplaats:
https://github.com/microsoft/python-package-template
Fork de opslagplaats naar uw GitHub-account.
Ga naar uw geforkte opslagplaats en selecteer Code.
Kopieer de URL van uw geforkte opslagplaats.
Kloon de opslagplaats vanuit een CLI op uw lokale computer met behulp van de URL die u hebt gekopieerd uit uw geforkte opslagplaats.
git clone <REPOSIORY_URL>
Wijzig de map in uw gekloonde opslagplaats.
cd python-package-template
Uw pakket bouwen
Voer de volgende opdrachten uit in de projectmap om uw wiel- en brondistributie te bouwen:
pip install --upgrade build
python -m build
Als uw Python-project een setup.py
bestand heeft, kunt u de volgende opdracht gebruiken om uw pakket te bouwen:
python setup.py sdist bdist_wheel
Verbinding maken om te voeren
Er zijn twee primaire manieren om verbinding te maken met een feed om uw Python-pakketten te publiceren of te gebruiken:
- Gebruik het artefactsleutelringspakket, waarmee automatisch verificatie voor u wordt ingesteld.
- Referenties handmatig instellen met een PAT.
Notitie
artifacts-keyring wordt niet ondersteund in nieuwere versies van Ubuntu.
Notitie
Als uw organisatie een firewall of een proxyserver gebruikt, moet u ervoor zorgen dat u URL's en IP-adressen van Azure Artifacts-domeinen toestaat.
Artefacten-sleutelring instellen voor verificatie
Het sleutelhangerpakket voor artefacten werkt met het Python-sleutelringspakket, zodat u verificatie kunt instellen voor het publiceren en gebruiken van uw Python-pakketten naar en van uw feed. Zowel pip als twine gebruiken het Python-sleutelringpakket om referenties te vinden.
Belangrijk
U moet pip 19.2 en twine 1.13.0 of hoger hebben om artefacten-sleutelring te kunnen gebruiken. Zie Gebruiksvereisten voor meer informatie.
Als u ervoor kiest om artefacten-sleutelring te gebruiken, moet u het pakket installeren voordat u het kunt gebruiken.
Voer in een opdrachtpromptvenster met verhoogde bevoegdheid de volgende opdracht uit om het artefacts-keyring-pakket te installeren:
pip install artifacts-keyring
Python-pakketten publiceren
U kunt Python-pakketten publiceren naar uw feed met behulp van het artefactsleutelringspakket of PAT-verificatie.
Pakketten publiceren met artefacten-sleutelring
Selecteer Verbinding maken om uit uw feed te voeren.
Selecteer twine en kopieer de opslagplaats-URL in de sectie Project-installatie .
Als u een pakket naar uw feed wilt publiceren, voert u de volgende opdracht uit om FEED_URL> te vervangen <door de opslagplaats-URL die u hebt gekopieerd uit het dialoogvenster Verbinding maken naar feed:
twine upload --repository-url <FEED_URL> dist/*
Pakketten publiceren met PAT-verificatie
Gebruik twine om uw pakket te uploaden naar uw Azure Artifacts-feed.
Ga naar uw Azure DevOps-project en selecteer Artefacten.
Selecteer uw feed en selecteer Verbinding maken om te feeden.
Selecteer twine onder de Python-sectie .
Controleer op uw ontwikkelcomputer of twine is geïnstalleerd.
pip install --upgrade twine
Volg de instructies in de sectie Project setup om uw
.pypirc
bestand in te stellen.Om te voorkomen dat u uw persoonlijke toegangstoken moet invoeren telkens wanneer u een pakket publiceert, kunt u uw referenties toevoegen aan het
.pypirc
bestand. Zorg ervoor dat u uw persoonlijke toegangstoken niet controleert in een openbare opslagplaats.Voorbeeld van een
.pypirc
bestand met referenties:[distutils] Index-servers = <FEED_NAME> [<FEED_NAME>] Repository = <FEED_URL> username = <FEED_NAME> password = <YOUR_PERSONAL_ACCESS_TOKEN>
Als u uw pakket wilt uploaden, voert u de volgende opdracht uit in de projectmap, waarbij <u FEED_NAME> vervangt door de naam van uw feed. In Windows moet u mogelijk de
pypirc
bestandslocatie opgeven met de--config-file
optie.twine upload --repository <FEED_NAME> dist/*
Python-pakketten gebruiken
U kunt Python-pakketten uit uw feed gebruiken met behulp van het artefactensleutelringspakket of PAT-verificatie.
Pakketten gebruiken met artefacten-sleutelring
Selecteer artefacten in uw project en selecteer vervolgens uw feed.
Selecteer Verbinding maken om te voeren.
Selecteer pip onder de sectie Python .
Bereid uw lokale Python-omgeving voor.
Zorg ervoor dat pip is geïnstalleerd en up-to-date is:
python -m pip install --upgrade pip
Een virtuele Python-omgeving maken en activeren:
python -m venv myenv myenv/Scripts/activate
Kopieer de
index-url
sectie projectinstellingen van het Verbinding maken naar het dialoogvenster Feed.Als u een pakket wilt installeren vanuit uw feed, voert u de volgende opdracht uit om <PACKAGE_NAME> te vervangen door de pakketnaam uit uw feed en <INDEX_URL> door de index-URL die u hebt gekopieerd uit het dialoogvenster Verbinding maken naar feed:
pip install <PACKAGE_NAME> --index-url <INDEX_URL>
Wanneer u voor het eerst verbinding maakt met Azure DevOps, wordt u gevraagd om referenties. Voer uw gebruikersnaam (een willekeurige tekenreeks) en uw persoonlijke toegangstoken in de juiste velden in. De referenties worden lokaal in de cache opgeslagen en worden gebruikt om u automatisch aan te melden bij de volgende keer dat u de service gebruikt.
Pakketten gebruiken met PAT-verificatie
Ga naar uw Azure DevOps-project en selecteer Artefacten.
Selecteer uw feed en selecteer Verbinding maken om te feeden.
Selecteer pip onder de sectie Python .
Bereid uw lokale Python-omgeving voor.
Zorg ervoor dat pip is geïnstalleerd en up-to-date is:
python -m pip install --upgrade pip
Een virtuele Python-omgeving maken en activeren:
python -m venv myenv myenv/Scripts/activate
Voeg een pip.ini (Windows) of een pip.conf-bestand (Mac/Linux) toe aan de hoofdmap van uw virtuele omgeving. Kopieer de inhoud uit de sectie Project-installatie van het Verbinding maken om het dialoogvenster feed te voeren en voeg deze toe aan uw bestand pip.ini of pip.conf.
U kunt uw referenties toevoegen aan het bestand pip.ini of pip.conf om te voorkomen dat u uw persoonlijke toegangstoken telkens hoeft in te voeren wanneer u een pakket installeert vanuit uw feed. Zorg ervoor dat u uw persoonlijke toegangstoken niet controleert in een openbare opslagplaats.
Voorbeeld van een pip.ini - of pip.conf-bestand met referenties:
[global] index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
Voer de volgende opdracht uit om uw pakket te installeren, waarbij <u PACKAGE_NAME> vervangt door de pakketnaam uit uw feed.
pip install <PACKAGE_NAME>