Snabbstart: Publicera och använda Python-paket med Azure Artifacts med hjälp av kommandoraden (CLI)

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

I den här snabbstarten lär du dig hur du skapar ett Azure Artifacts-flöde och använder ditt flöde för att publicera och använda Python-paket från kommandoraden i din lokala utvecklingsmiljö. När du är klar har du ett Python-paket publicerat i feeden och installerat från feeden till din lokala utvecklingsmiljö.

Information om hur du publicerar och använder paket i azure-pipelines finns i Publicera Python-paket med Azure Pipelines.

Förutsättningar

Om du vill köra följande steg måste du ha:

  • En Azure DevOps-organisation. Skapa en kostnadsfritt.
  • En personlig åtkomsttoken (PAT) med omfånget Paketeringsläsning>. Information om hur du skapar en finns i Skapa en PAT.
  • Ett Azure DevOps-projekt. Om du inte har något skapar du ett projekt.
  • Python 3.8 eller senare installerat på den lokala datorn. Ladda ned Python här.
  • pip 19.2 och twine 1.13.0 eller senare.
  • Ett Python-paket som ska publiceras från din lokala dator till din feed.
  • Om du använder Python-exempelpaketet:
    • Ett GitHub-konto. Skapa ett kostnadsfritt GitHub-konto om du inte redan har ett.
    • git installerat på den lokala datorn.
  • Ett GitHub-konto. Skapa ett kostnadsfritt GitHub-konto om du inte redan har ett.
  • Åtkomst till en Azure DevOps Server-samling.
  • En personlig åtkomsttoken (PAT) med omfånget Paketeringsläsning>. Information om hur du skapar en finns i Skapa en PAT.
  • Ett Azure DevOps-projekt. Om du inte har något skapar du ett projekt.
  • Python 3.8 eller senare installerat i din lokala utvecklingsmiljö.
  • pip 19.2 och twine 1.13.0 eller senare.
  • Om du använder Python-exempelpaketet:
    • Ett GitHub-konto. Skapa ett kostnadsfritt GitHub-konto om du inte redan har ett.
    • git installerat på den lokala datorn.

Skapa ett lokalt Python-paket

Du behöver ett Python-paket för att publicera till feeden. Om du inte har något paket att publicera kan du klona ett Python-exempelpaket från GitHub.

Klona Python-exempelpaketet

Använd följande steg för att använda Python-exempelpaketet från GitHub.

  1. Gå till följande GitHub-lagringsplats:

    https://github.com/microsoft/python-package-template
    
  2. Förgrena lagringsplatsen till ditt GitHub-konto.

  3. Gå till din förgrenade lagringsplats och välj Kod.

  4. Kopiera URL:en för din förgrenade lagringsplats.

  5. Från en CLI på den lokala datorn klonar du lagringsplatsen med följande kommando med hjälp av URL:en som du kopierade från din förgrenade lagringsplats:

    git clone <REPOSITORY_URL>
    
  6. Ändra katalogen till den klonade lagringsplatsen.

    cd python-package-template
    

Skapa ditt paket

Om du vill skapa hjul- och källdistributionen kör du följande kommandon i projektkatalogen:

pip install --upgrade build
python -m build

Om Python-projektet har en setup.py fil kan du använda följande kommando för att skapa paketet:

python setup.py sdist bdist_wheel

Skapa en feed

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

  2. Välj Artefakter och välj sedan Skapa feed.

    A screenshot showing how to create a feed.

  3. Ange följande information för feeden:

    1. Ange ett beskrivande namn för feeden.
    2. Definiera dess synlighet (som anger vem som kan visa paket i feeden).
    3. Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
    4. Ange omfånget för feeden.
  4. Välj Skapa.

  1. Gå till din Azure DevOps-samling och välj ditt projekt.

  2. Välj Artefakter och välj sedan Skapa feed.

    A screenshot showing how to create a feed in DevOps Server.

  3. Ange följande information för feeden:

    1. Ange ett beskrivande namn för feeden.
    2. Definiera dess synlighet (som anger vem som kan visa paket i feeden).
    3. Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
    4. Ange omfånget för feeden.
  4. Välj Skapa.

  1. Gå till din Azure DevOps-samling och välj ditt projekt.

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

  3. Ange följande information för feeden:

    1. Ange ett beskrivande namn för feeden.
    2. Definiera dess synlighet (som anger vem som kan visa paket i feeden).
    3. Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
    4. Ange omfånget för feeden.
  4. Välj Skapa.

  1. Gå till din Azure DevOps-samling och välj ditt projekt.

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

  3. Ange följande information för feeden:

    1. Ange ett beskrivande namn för feeden.
    2. Definiera dess synlighet (som anger vem som kan visa paket i feeden).
    3. Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
  4. Välj Skapa.

Publicera paketet i feeden

Använd twine för att ladda upp paketet till din Azure Artifacts-feed.

  1. Gå till ditt Azure DevOps-projekt och välj Artefakter.

  2. Välj din feed och välj Anslut som ska matas.

    A screenshot highlighting the connect to feed.

  3. Välj tvilling under avsnittet Python .

    A screenshot highlighting the twine package type.

  4. Kontrollera att tvillingen är installerad på utvecklingsdatorn.

    pip install --upgrade twine
    
  5. Följ anvisningarna i avsnittet Project setup (Projektkonfiguration) för att konfigurera .pypirc filen.

    A screenshot highlighting the `.pyirc` content.

  6. För att undvika att behöva ange din personliga åtkomsttoken varje gång du publicerar ett paket kan du lägga till dina autentiseringsuppgifter i .pypirc filen. Kontrollera att du inte kontrollerar din personliga åtkomsttoken till en offentlig lagringsplats.

    Exempel på en .pypirc fil med autentiseringsuppgifter:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Om du vill ladda upp paketet kör du följande kommando i projektkatalogen och <ersätter FEED_NAME> med ditt flödesnamn. I Windows kan du behöva ange .pypirc filplatsen med --config-file argumentet .

    twine upload --repository <FEED_NAME> dist/*
    

Installera ett paket från feeden

  1. Gå till ditt Azure DevOps-projekt och välj Artefakter.

  2. Välj din feed och välj Anslut som ska matas.

    A screenshot highlighting the connect to feed button.

  3. Välj pip under avsnittet Python .

    A screenshot highlighting the pip package type.

  4. Förbered din lokala Python-miljö.

    1. Kontrollera att pip är installerat och uppdaterat:

      python -m pip install --upgrade pip
      
    2. Skapa och aktivera en virtuell Python-miljö:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Lägg till en pip.ini (Windows) eller en pip.conf-fil (Mac/Linux) i rotkatalogen i den virtuella miljön. Kopiera innehållet från avsnittet Project setup i Anslut för att mata dialogrutan och lägga till det i din pip.ini- eller pip.conf-fil.

    A screenshot highlighting the pip.ini file content.

  6. För att undvika att behöva ange din personliga åtkomsttoken varje gång du installerar ett paket från feeden kan du lägga till dina autentiseringsuppgifter i filen pip.ini eller pip.conf . Kontrollera att du inte kontrollerar din personliga åtkomsttoken till en offentlig lagringsplats.

    Exempel på en pip.ini - eller pip.conf-fil med autentiseringsuppgifter:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Installera paketet genom att köra följande kommando och <ersätta PACKAGE_NAME> med paketnamnet från feeden.

    pip install <PACKAGE_NAME>
    

Rensa resurser

När du är klar med de resurser som du har skapat kan du ta bort dem för att undvika avgifter. När du tar bort ett projekt tas alla artefakter på projektnivå bort.

Så här tar du bort ett projekt:

  1. Välj Projekt Inställningar.
  2. På sidan Projektinformation väljer du Ta bort längst ned på sidan.
  3. Ange namnet på projektet som ska bekräftas och välj sedan Ta bort.

Om du bara vill ta bort feeden:

  1. Välj Artefakter och välj din feed från den nedrullningsbara menyn.
  2. Välj inställningsknappen.
  3. På fliken Flödesinställningar väljer du Ta bort feed.
  4. Välj Ta bort för att bekräfta.

Så här rensar du din lokala utvecklingsmiljö:

  1. Om du vill inaktivera den virtuella miljön kör du följande kommando:

    deactivate
    
  2. Ta bort den virtuella miljön genom att ta bort katalogen där den skapades.

  3. .pypirc Ta bort filen från din hemkatalog.

Om du klonade Python-exempelpaketet kan du ta bort lagringsplatsen från din lokala dator och ditt GitHub-konto.

Nästa steg