Pakketten gebruiken uit de Python-pakketindex (PyPI)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Met Behulp van Azure Artifacts kunnen ontwikkelaars pakketten publiceren en gebruiken vanuit zowel Azure Artifacts-feeds als externe registers, zoals PyPI.org. Door upstream-bronnen in te schakelen, kunt u uw pakketbeheer stroomlijnen met behulp van één feed om zowel uw eigen pakketten als de pakketten te beheren die worden gebruikt vanuit openbare registers. Zodra azure Artifacts is ingeschakeld, wordt automatisch een kopie van een pakket opgeslagen dat is geïnstalleerd door een samenwerker of hoger vanuit een upstream-bron. In dit artikel wordt u begeleid bij het instellen van uw project en het gebruik van de opdrachtregel om Efficiënt Python-pakketten uit PyPI te gebruiken.
In dit artikel leert u het volgende:
- Upstream-bronnen voor uw feed inschakelen
- PyPI toevoegen als een upstream-bron
- Uw project instellen
- Pakketten installeren vanuit de Python-pakketindex
Vereisten
Een Azure DevOps-organisatie en een project. Maak een organisatie of een project als u dat nog niet hebt gedaan.
Een Azure Artifacts-feed.
Download Python.
Upstream-bronnen inschakelen bij het maken van een nieuwe feed
Als u nog geen feed hebt gemaakt, volgt u de onderstaande stappen om een nieuwe feed te maken. Schakel het selectievakje voor upstream-bronnen in om upstream-bronnen in te schakelen. Als u al een feed hebt, gaat u verder met de volgende stap om PyPI toe te voegen als een upstream-bron.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer Vervolgens Feed maken om een nieuwe feed te maken.
Voer een beschrijvende naam in voor uw feed en definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken). Geef het bereik van uw feed op en schakel vervolgens het selectievakje Upstream-bronnen in om pakketten uit openbare registers op te nemen.
Selecteer Maken wanneer u klaar bent.
PyPI toevoegen als een nieuwe upstream-bron
Als u het selectievakje upstream-bronnen hebt ingeschakeld tijdens het maken van uw feed, zou PyPI automatisch moeten worden opgenomen als een upstream-bron. Als dat niet het probleem is, kunt u deze handmatig toevoegen door de volgende stappen uit te voeren:
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens het tandwielpictogram om naar Feedinstellingen te navigeren.
Selecteer Upstream-bronnen en selecteer Vervolgens Upstream toevoegen om een nieuwe upstream-bron toe te voegen.
Selecteer openbare bron en selecteer vervolgens PyPI (https://pypi.org/) in de vervolgkeuzelijst.
Selecteer Toevoegen wanneer u klaar bent en selecteer Opslaan in de rechterbovenhoek om uw wijzigingen op te slaan.
Verifiëren met uw feed
Zorg ervoor dat u Python hebt gedownload en voer vervolgens de volgende opdracht uit om uw Python-pakketbeheer bij te werken:
python -m pip install --upgrade pip
Voer de volgende opdracht uit om de Azure Artifacts-sleutelring te installeren:
pip install keyring artifacts-keyring
Maak een persoonlijk toegangstoken met het leesbereik Packaging>om te verifiëren met Azure DevOps. De eerste keer dat u verbinding maakt met Azure DevOps, moet u uw referenties invoeren wanneer u hierom wordt gevraagd. Geef uw gebruikersnaam (een willekeurige tekenreeks) en uw persoonlijke toegangstoken op in de aangewezen velden. Deze referenties worden lokaal in de cache opgeslagen en automatisch gebruikt om u aan te melden bij de volgende keer dat u de service gebruikt.
Navigeer naar de projectmap en voer vervolgens de volgende opdracht uit om een nieuwe virtuele omgeving te maken:
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
Maak een nieuw pip.ini-bestand (Windows) of een pip.conf-bestand (Mac/Linux) in uw virtuele omgeving en plak het volgende fragment in uw bestand. Zorg ervoor dat u de tijdelijke aanduidingen vervangt door de juiste informatie en wees voorzichtig met het niet doorvoeren van dit bestand in een openbare opslagplaats, omdat het uw persoonlijke toegangstoken bevat.
Feed met projectbereik:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
Feed met organisatiebereik:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
Pakketten installeren vanuit PyPI
Nu we ons project hebben geconfigureerd voor verificatie met onze feed, kunnen we beginnen met het installeren van pakketten vanuit de PyPI-upstream. In dit voorbeeld installeren Flask
we:
Navigeer in een opdrachtpromptvenster naar de projectmap en voer de volgende opdracht uit om uw virtuele omgeving te activeren. Vervang de tijdelijke aanduiding door de naam van de virtuele omgeving die u eerder hebt gemaakt:
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
Voer de volgende opdracht uit om de pakketten te controleren die zijn geïnstalleerd in uw virtuele omgeving:
pip list
Voer de volgende opdracht uit om Flask te installeren.
pip install -U Flask
Zodra uw pakket is geïnstalleerd, slaat Azure Artifacts een kopie van dit pakket op in uw feed. Uw pakket moet beschikbaar zijn in uw feed, zoals wordt weergegeven in de onderstaande schermafbeelding.