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 Azure Artifacts-feeds och externa register, till exempel pypi.org. 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

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.

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Artefakter och välj sedan Skapa feed för att skapa en ny feed.

  3. 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.

  4. Välj Skapa när du är klar.

    A screenshot showing how to create a need feed.

Lägg till PyPI uppströms

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:

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Artefakter och välj kugghjulsikonen gear icon för att gå till Feed Inställningar.

  3. 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.

  4. Välj Offentlig källa och välj sedan PyPI (https://pypi.org/) på den nedrullningsbara menyn.

  5. Välj Spara när du är klar och välj sedan Spara en gång till i det övre högra hörnet för att spara ändringarna.

Autentisera med din feed

  1. 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
    
  2. Kör följande kommando för att installera Azure Artifacts-nyckelringen:

    pip install keyring artifacts-keyring
    
  3. 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.

  4. Gå till projektmappen och kör sedan följande kommando för att skapa en ny virtuell miljö:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. 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 Flaskvi :

  1. 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
    
  2. Kör följande kommando för att kontrollera paketen som är installerade i din virtuella miljö:

    pip list
    
  3. Kör följande kommando för att installera Flask.

    pip install -U Flask
    
  4. 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.

    A screenshot showing packages installed from PyPI upstream.