Använda paket från Python-paketindex (PyPI)
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Med Hjälp av Azure Artifacts kan utvecklare publicera och använda paket från både Azure Artifacts-feeds och externa register, till exempel PyPI.org. Genom att aktivera överordnade källor kan du effektivisera pakethanteringen med hjälp av ett enda flöde för att hantera både dina egna paket och de som förbrukas från offentliga register. När det är aktiverat sparar Azure Artifacts automatiskt en kopia av alla paket som har installerats av en medarbetare eller senare från en uppströmskälla. Den här artikeln vägleder dig genom att konfigurera projektet och använda kommandoraden för att effektivt använda Python-paket från PyPI.
I den här artikeln får du lära dig att:
- Aktivera överordnade källor för feeden
- Lägga till PyPI som en uppströmskälla
- Konfigurera projektet
- Installera paket från Python-paketindex
Förutsättningar
En Azure DevOps-organisation och ett projekt. Skapa en organisation eller ett projekt om du inte redan har gjort det.
En Azure Artifacts-feed.
Ladda ned Python.
Aktivera överordnade källor när du skapar en ny feed
Om du inte har skapat en feed ännu följer du stegen nedan för att skapa en ny. Se till att markera kryssrutan för överordnade källor för att aktivera överordnade källor. Om du redan har en feed går du vidare till nästa steg för att lägga till PyPI som en uppströmskälla.
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj sedan Skapa feed för att skapa en ny feed.
Ange ett beskrivande namn för feeden och definiera dess synlighet (som anger vem som kan visa paket i feeden). Ange omfånget för flödet och markera sedan kryssrutan Överordnade källor för att inkludera paket från offentliga register.
Välj Skapa när du är klar.
Lägga till PyPI som en ny uppströmskälla
Om du valde kryssrutan överordnade källor när flödet skapades bör PyPI automatiskt ha inkluderats som en uppströmskälla. Annars kan du lägga till det manuellt genom att följa dessa steg:
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakter och välj kugghjulsikonen för att gå till Feed-inställningar.
Välj Överordnade källor och välj sedan Lägg till uppströms för att lägga till en ny uppströmskälla.
Välj Offentlig källa och välj sedan PyPI (https://pypi.org/) på den nedrullningsbara menyn.
Välj Lägg till när du är klar och välj sedan Spara i det övre högra hörnet för att spara ändringarna.
Autentisera med din feed
Kontrollera att du har laddat ned Python och kör sedan följande kommando för att uppgradera Python-pakethanteraren:
python -m pip install --upgrade pip
Kör följande kommando för att installera Azure Artifacts-nyckelringen:
pip install keyring artifacts-keyring
Skapa en personlig åtkomsttoken med omfånget Paketeringsläsning> för att autentisera med Azure DevOps. Första gången du ansluter till Azure DevOps måste du ange dina autentiseringsuppgifter när du uppmanas att göra det. Ange ditt användarnamn (valfri sträng) och din personliga åtkomsttoken i de angivna fälten. Dessa autentiseringsuppgifter cachelagras lokalt och används automatiskt för att logga in dig nästa gång du använder tjänsten.
Gå till projektmappen och kör sedan följande kommando för att skapa en ny virtuell miljö:
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
Skapa en ny pip.ini -fil (Windows) eller en pip.conf-fil (Mac/Linux) i den virtuella miljön och klistra sedan in följande kodfragment i filen. Se till att du ersätter platshållarna med lämplig information och var försiktig så att du inte checkar in filen på en offentlig lagringsplats eftersom den innehåller din personliga åtkomsttoken.
Flöde med projektomfattning:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
Flöde med organisationsomfattning:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
Installera paket från PyPI
Nu när vi har konfigurerat vårt projekt för att autentisera med vårt flöde kan vi börja installera paket från PyPI uppströms. I det här exemplet installerar Flask
vi :
I kommandotolken går du till projektmappen och kör följande kommando för att aktivera den virtuella miljön. Ersätt platshållaren med namnet på den virtuella miljö som du skapade tidigare:
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
Kör följande kommando för att kontrollera paketen som är installerade i din virtuella miljö:
pip list
Kör följande kommando för att installera Flask.
pip install -U Flask
När paketet har installerats sparar Azure Artifacts en kopia av paketet i feeden. Paketet ska vara tillgängligt i feeden enligt skärmbilden nedan.