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.
Logga in på din Azure DevOps-organisation och gå sedan till projektet.
Välj Artefakter och välj sedan Skapa feed.
Ange följande information för feeden:
- Ange ett beskrivande namn för feeden.
- Definiera dess synlighet (som anger vem som kan visa paket i feeden).
- Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
- Ange omfånget för feeden.
Välj Skapa.
Gå till din Azure DevOps-samling och välj ditt projekt.
Välj Artefakter och välj sedan Skapa feed.
Ange följande information för feeden:
- Ange ett beskrivande namn för feeden.
- Definiera dess synlighet (som anger vem som kan visa paket i feeden).
- Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
- Ange omfånget för feeden.
Välj Skapa.
Gå till din Azure DevOps-samling och välj ditt projekt.
Välj Artefakter och välj sedan Skapa feed för att skapa en ny feed.
Ange följande information för feeden:
- Ange ett beskrivande namn för feeden.
- Definiera dess synlighet (som anger vem som kan visa paket i feeden).
- Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
- Ange omfånget för feeden.
Välj Skapa.
Gå till din Azure DevOps-samling och välj ditt projekt.
Välj Artefakter och välj sedan Skapa feed för att skapa en ny feed.
Ange följande information för feeden:
- Ange ett beskrivande namn för feeden.
- Definiera dess synlighet (som anger vem som kan visa paket i feeden).
- Välj om du vill använda paket från offentliga källor, till exempel pypi.org.
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.
Gå till följande GitHub-lagringsplats:
https://github.com/microsoft/python-package-template
Förgrena lagringsplatsen till ditt GitHub-konto.
Gå till din förgrenade lagringsplats och välj Kod.
Kopiera URL:en för din förgrenade lagringsplats.
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>
Ä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:
- Använd paketet artifacts-keyring som automatiskt konfigurerar autentisering åt dig.
- 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
Välj Anslut som ska matas från feeden.
Välj twine och kopiera lagringsplatsens URL från avsnittet Projektkonfiguration .
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.
Gå till ditt Azure DevOps-projekt och välj Artefakter.
Välj din feed och välj Anslut som ska matas.
Välj tvilling under avsnittet Python .
Kontrollera att tvillingen är installerad på utvecklingsdatorn.
pip install --upgrade twine
Följ anvisningarna i avsnittet Project setup (Projektkonfiguration) för att konfigurera
.pypirc
filen.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>
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
I projektet väljer du Artefakter och sedan din feed.
Välj Anslut som ska matas.
Välj pip under avsnittet Python .
Förbered din lokala Python-miljö.
Kontrollera att pip är installerat och uppdaterat:
python -m pip install --upgrade pip
Så här skapar och aktiverar du en virtuell Python-miljö:
python -m venv myenv myenv/Scripts/activate
index-url
Kopiera från avsnittet Projektkonfiguration i dialogrutan Anslut för att mata in.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
Gå till ditt Azure DevOps-projekt och välj Artefakter.
Välj din feed och välj Anslut som ska matas.
Välj pip under avsnittet Python .
Förbered din lokala Python-miljö.
Kontrollera att pip är installerat och uppdaterat:
python -m pip install --upgrade pip
Skapa och aktivera en virtuell Python-miljö:
python -m venv myenv myenv/Scripts/activate
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.
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>
Installera paketet genom att köra följande kommando och <ersätta PACKAGE_NAME> med paketnamnet från feeden.
pip install <PACKAGE_NAME>