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

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

Med Azure Artifacts kan du skapa, vara värd för och dela Python-paket med ditt team eller din organisation. Du kan publicera och använda Python-paket med hjälp av en Azure Artifacts-feed från kommandoraden i din lokala utvecklingsmiljö.

I den här artikeln lär du dig hur du:

  • Skapa en Azure Artifacts-feed.
  • Konfigurera autentisering med antingen Python artifacts-keyring-paketet eller en personlig åtkomsttoken (PAT).
  • Publicera Python-paket i feeden.
  • Använda Python-paket från feeden.

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.9 eller senare installerat på den lokala datorn. Ladda ned Python här.
  • pip 24.0 och twine 5.0.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.9 eller senare installerat i din lokala utvecklingsmiljö.
  • pip 24.0 och twine 5.0.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 en Azure Artifacts-feed

Om du inte har någon feed använder du följande steg för att skapa en.

  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.

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 till den lokala datorn med hjälp av url:en som du kopierade från din förgrenade lagringsplats.

    git clone <REPOSIORY_URL>
    
  6. Ändra katalog 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

Anslut att mata

Det finns två huvudsakliga sätt att ansluta till en feed för att publicera eller använda dina Python-paket:

  1. Använd paketet artifacts-keyring som automatiskt konfigurerar autentisering åt dig.
  2. Konfigurera autentiseringsuppgifter manuellt med en PAT.

Kommentar

artifacts-keyring stöds inte i nyare versioner av Ubuntu.

Kommentar

Om din organisation använder en brandvägg eller en proxyserver kontrollerar du att du tillåter URL:er och IP-adresser för Azure Artifacts-domäner.

Konfigurera artifacts-keyring för autentisering

Paketet artifacts-keyring fungerar med Python-nyckelringspaketet så att du kan konfigurera autentisering för att publicera och använda dina Python-paket till och från ditt flöde. Både pip och twine använder Python-nyckelringspaketet för att hitta autentiseringsuppgifter.

Viktigt!

Du måste ha pip 19.2 och twine 1.13.0 eller senare för att kunna använda artifacts-keyring. Mer information finns i Användningskrav.

Om du väljer att använda artifacts-keyring måste du installera paketet innan du kan använda det.

I ett fönster med upphöjd kommandotolk kör du följande kommando för att installera paketet artifacts-keyring:

pip install artifacts-keyring

Publicera Python-paket

Du kan publicera Python-paket i feeden med hjälp av paketet artifacts-keyring eller PAT-autentisering.

Publicera paket med artifacts-keyring

  1. Välj Anslut som ska matas från feeden.

    A screenshot highlighting the connect to feed.

  2. Välj twine och kopiera lagringsplatsens URL från avsnittet Projektkonfiguration .

    A screenshot of instructions to connect to feed with twine.

  3. Om du vill publicera ett paket i feeden kör du följande kommando för att <ersätta FEED_URL> med lagringsplatsens URL som du kopierade från Anslut för att mata dialogrutan:

    twine upload --repository-url <FEED_URL> dist/*
    

Publicera paket med PAT-autentisering

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` file 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 alternativet --config-file .

    twine upload --repository <FEED_NAME> dist/*
    

Använda Python-paket

Du kan använda Python-paket från flödet med hjälp av paketet artifacts-keyring eller PAT-autentisering.

Använda paket med artifacts-keyring

  1. I projektet väljer du Artefakter och sedan din feed.

  2. Välj Anslut som ska matas.

    A screenshot highlighting the connect to feed button.

  3. Välj pip under avsnittet Python .

    A screenshot of pip selection in Connect to feed.

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

    1. Kontrollera att pip är installerat och uppdaterat:

      python -m pip install --upgrade pip
      
    2. Så här skapar och aktiverar du en virtuell Python-miljö:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. index-url Kopiera från avsnittet Projektkonfiguration i dialogrutan Anslut för att mata in.

    A screenshot of the index-url in the Connect to feed dialog.

  6. Om du vill installera ett paket från feeden kör du följande kommando och <ersätter PACKAGE_NAME> med paketnamnet från feeden och <INDEX_URL> med index-URL:en som du kopierade från Anslut för att mata dialogrutan:

    pip install <PACKAGE_NAME> --index-url <INDEX_URL>
    

När du ansluter till Azure DevOps för första gången uppmanas du att ange autentiseringsuppgifter. Ange ditt användarnamn (valfri sträng) och din personliga åtkomsttoken i lämpliga fält. Autentiseringsuppgifterna cachelagras lokalt och används för att automatiskt logga in dig nästa gång du använder tjänsten.

Använda paket med PAT-autentisering

  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]
    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>