Share via


Python-pakketten publiceren en gebruiken met behulp van de opdrachtregel (CLI)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Met Azure Artifacts kunt u Python-pakketten maken, hosten en delen met uw team of organisatie. U kunt Python-pakketten publiceren en gebruiken met behulp van een Azure Artifacts-feed vanaf de opdrachtregel in uw lokale ontwikkelomgeving.

In dit artikel leert u het volgende:

  • Maak een Azure Artifacts-feed.
  • Stel verificatie in met het Python artifacts-keyring-pakket of een persoonlijk toegangstoken (PAT).
  • Python-pakketten publiceren naar uw feed.
  • Python-pakketten uit uw feed gebruiken.

Als u pakketten in uw Azure Pipelines wilt publiceren en gebruiken, raadpleegt u Python-pakketten publiceren met Azure Pipelines.

Vereisten

Als u de volgende stappen wilt uitvoeren, moet u beschikken over:

  • een Azure DevOps-organisatie. Maak gratis een account.
  • Een persoonlijk toegangstoken (PAT) met het leesbereik voor pakketten>. Zie Een PAT maken om er een te maken.
  • Een Azure DevOps-project. Als u nog geen project hebt, maakt u een project.
  • Python 3.9 of hoger geïnstalleerd op uw lokale computer. Download Python hier.
  • pip 24.0 en twine 5.0.0 of hoger.
  • Een Python-pakket om vanaf uw lokale computer naar uw feed te publiceren.
  • Als u het Python-voorbeeldpakket gebruikt:
    • Een GitHub-account. Maak een gratis GitHub-account als u er nog geen hebt.
    • Git geïnstalleerd op uw lokale computer.
  • Een GitHub-account. Maak een gratis GitHub-account als u er nog geen hebt.
  • Toegang tot een Azure DevOps Server-verzameling.
  • Een persoonlijk toegangstoken (PAT) met het leesbereik voor pakketten>. Zie Een PAT maken om er een te maken.
  • Een Azure DevOps-project. Als u nog geen project hebt, maakt u een project.
  • Python 3.9 of hoger geïnstalleerd in uw lokale ontwikkelomgeving.
  • pip 24.0 en twine 5.0.0 of hoger.
  • Als u het Python-voorbeeldpakket gebruikt:
    • Een GitHub-account. Maak een gratis GitHub-account als u er nog geen hebt.
    • Git geïnstalleerd op uw lokale computer.

Een Azure Artifacts-feed maken

Als u geen feed hebt, gebruikt u de volgende stappen om er een te maken.

  1. Meld u aan bij uw Azure DevOps-organisatie en ga vervolgens naar uw project.

  2. Selecteer Artefacten en selecteer vervolgens Feed maken.

    A screenshot showing how to create a feed.

  3. Voer de volgende gegevens in voor uw feed:

    1. Voer een beschrijvende naam in voor uw feed.
    2. Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
    3. Selecteer of u pakketten uit openbare bronnen wilt gebruiken, zoals pypi.org.
    4. Geef het bereik van uw feed op.
  4. Selecteer Maken.

  1. Ga naar uw Azure DevOps-verzameling en selecteer uw project.

  2. Selecteer Artefacten en selecteer vervolgens Feed maken.

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

  3. Voer de volgende gegevens in voor uw feed:

    1. Voer een beschrijvende naam in voor uw feed.
    2. Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
    3. Selecteer of u pakketten uit openbare bronnen wilt gebruiken, zoals pypi.org.
    4. Geef het bereik van uw feed op.
  4. Selecteer Maken.

  1. Ga naar uw Azure DevOps-verzameling en selecteer uw project.

  2. Selecteer Artefacten en selecteer Vervolgens Feed maken om een nieuwe feed te maken.

  3. Voer de volgende gegevens in voor uw feed:

    1. Voer een beschrijvende naam in voor uw feed.
    2. Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
    3. Selecteer of u pakketten uit openbare bronnen wilt gebruiken, zoals pypi.org.
    4. Geef het bereik van uw feed op.
  4. Selecteer Maken.

  1. Ga naar uw Azure DevOps-verzameling en selecteer uw project.

  2. Selecteer Artefacten en selecteer Vervolgens Feed maken om een nieuwe feed te maken.

  3. Voer de volgende gegevens in voor uw feed:

    1. Voer een beschrijvende naam in voor uw feed.
    2. Definieer de zichtbaarheid (waarmee wordt aangegeven wie pakketten in de feed kan bekijken).
    3. Kies of u pakketten wilt gebruiken uit openbare bronnen, zoals pypi.org.
  4. Selecteer Maken.

Een lokaal Python-pakket maken

U hebt een Python-pakket nodig om naar uw feed te publiceren. Als u geen pakket hebt om te publiceren, kunt u een Python-voorbeeldpakket klonen vanuit GitHub.

Het Python-voorbeeldpakket klonen

Gebruik de volgende stappen om het Python-voorbeeldpakket van GitHub te gebruiken.

  1. Ga naar de volgende GitHub-opslagplaats:

    https://github.com/microsoft/python-package-template
    
  2. Fork de opslagplaats naar uw GitHub-account.

  3. Ga naar uw geforkte opslagplaats en selecteer Code.

  4. Kopieer de URL van uw geforkte opslagplaats.

  5. Kloon de opslagplaats vanuit een CLI op uw lokale computer met behulp van de URL die u hebt gekopieerd uit uw geforkte opslagplaats.

    git clone <REPOSITORY_URL>
    
  6. Wijzig de map in uw gekloonde opslagplaats.

    cd python-package-template
    

Uw pakket bouwen

Voer de volgende opdrachten uit in de projectmap om uw wiel- en brondistributie te bouwen:

pip install --upgrade build
python -m build

Als uw Python-project een setup.py bestand heeft, kunt u de volgende opdracht gebruiken om uw pakket te bouwen:

python setup.py sdist bdist_wheel

Verbinding maken om te voeren

Er zijn twee primaire manieren om verbinding te maken met een feed om uw Python-pakketten te publiceren of te gebruiken:

  1. Gebruik het artefactsleutelringspakket, waarmee automatisch verificatie voor u wordt ingesteld.
  2. Referenties handmatig instellen met een PAT.

Notitie

artifacts-keyring wordt niet ondersteund in nieuwere versies van Ubuntu.

Notitie

Als uw organisatie een firewall of een proxyserver gebruikt, moet u ervoor zorgen dat u URL's en IP-adressen van Azure Artifacts-domeinen toestaat.

Artefacten-sleutelring instellen voor verificatie

Het sleutelhangerpakket voor artefacten werkt met het Python-sleutelringspakket, zodat u verificatie kunt instellen voor het publiceren en gebruiken van uw Python-pakketten naar en van uw feed. Zowel pip als twine gebruiken het Python-sleutelringpakket om referenties te vinden.

Belangrijk

U moet pip 19.2 en twine 1.13.0 of hoger hebben om artefacten-sleutelring te kunnen gebruiken. Zie Gebruiksvereisten voor meer informatie.

Als u ervoor kiest om artefacten-sleutelring te gebruiken, moet u het pakket installeren voordat u het kunt gebruiken.

Voer in een opdrachtpromptvenster met verhoogde bevoegdheid de volgende opdracht uit om het artefacts-keyring-pakket te installeren:

pip install artifacts-keyring

Python-pakketten publiceren

U kunt Python-pakketten publiceren naar uw feed met behulp van het artefactsleutelringspakket of PAT-verificatie.

Pakketten publiceren met artefacten-sleutelring

  1. Selecteer Verbinding maken om uit uw feed te voeren.

    A screenshot highlighting the connect to feed.

  2. Selecteer twine en kopieer de opslagplaats-URL in de sectie Project-installatie .

    A screenshot of instructions to connect to feed with twine.

  3. Als u een pakket naar uw feed wilt publiceren, voert u de volgende opdracht uit om FEED_URL> te vervangen <door de opslagplaats-URL die u hebt gekopieerd uit het dialoogvenster Verbinding maken naar feed:

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

Pakketten publiceren met PAT-verificatie

Gebruik twine om uw pakket te uploaden naar uw Azure Artifacts-feed.

  1. Ga naar uw Azure DevOps-project en selecteer Artefacten.

  2. Selecteer uw feed en selecteer Verbinding maken om te feeden.

    A screenshot highlighting the connect to feed.

  3. Selecteer twine onder de Python-sectie .

    A screenshot highlighting the twine package type.

  4. Controleer op uw ontwikkelcomputer of twine is geïnstalleerd.

    pip install --upgrade twine
    
  5. Volg de instructies in de sectie Project setup om uw .pypirc bestand in te stellen.

    A screenshot highlighting the `.pyirc` file content.

  6. Om te voorkomen dat u uw persoonlijke toegangstoken moet invoeren telkens wanneer u een pakket publiceert, kunt u uw referenties toevoegen aan het .pypirc bestand. Zorg ervoor dat u uw persoonlijke toegangstoken niet controleert in een openbare opslagplaats.

    Voorbeeld van een .pypirc bestand met referenties:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Als u uw pakket wilt uploaden, voert u de volgende opdracht uit in de projectmap, waarbij <u FEED_NAME> vervangt door de naam van uw feed. In Windows moet u mogelijk de pypirc bestandslocatie opgeven met de --config-file optie.

    twine upload --repository <FEED_NAME> dist/*
    

Python-pakketten gebruiken

U kunt Python-pakketten uit uw feed gebruiken met behulp van het artefactensleutelringspakket of PAT-verificatie.

Pakketten gebruiken met artefacten-sleutelring

  1. Selecteer artefacten in uw project en selecteer vervolgens uw feed.

  2. Selecteer Verbinding maken om te voeren.

    A screenshot highlighting the connect to feed button.

  3. Selecteer pip onder de sectie Python .

    A screenshot of pip selection in Connect to feed.

  4. Bereid uw lokale Python-omgeving voor.

    1. Zorg ervoor dat pip is geïnstalleerd en up-to-date is:

      python -m pip install --upgrade pip
      
    2. Een virtuele Python-omgeving maken en activeren:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Kopieer de index-url sectie projectinstellingen van het Verbinding maken naar het dialoogvenster Feed.

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

  6. Als u een pakket wilt installeren vanuit uw feed, voert u de volgende opdracht uit om <PACKAGE_NAME> te vervangen door de pakketnaam uit uw feed en <INDEX_URL> door de index-URL die u hebt gekopieerd uit het dialoogvenster Verbinding maken naar feed:

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

Wanneer u voor het eerst verbinding maakt met Azure DevOps, wordt u gevraagd om referenties. Voer uw gebruikersnaam (een willekeurige tekenreeks) en uw persoonlijke toegangstoken in de juiste velden in. De referenties worden lokaal in de cache opgeslagen en worden gebruikt om u automatisch aan te melden bij de volgende keer dat u de service gebruikt.

Pakketten gebruiken met PAT-verificatie

  1. Ga naar uw Azure DevOps-project en selecteer Artefacten.

  2. Selecteer uw feed en selecteer Verbinding maken om te feeden.

    A screenshot highlighting the connect to feed button.

  3. Selecteer pip onder de sectie Python .

    A screenshot highlighting the pip package type.

  4. Bereid uw lokale Python-omgeving voor.

    1. Zorg ervoor dat pip is geïnstalleerd en up-to-date is:

      python -m pip install --upgrade pip
      
    2. Een virtuele Python-omgeving maken en activeren:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Voeg een pip.ini (Windows) of een pip.conf-bestand (Mac/Linux) toe aan de hoofdmap van uw virtuele omgeving. Kopieer de inhoud uit de sectie Project-installatie van het Verbinding maken om het dialoogvenster feed te voeren en voeg deze toe aan uw bestand pip.ini of pip.conf.

    A screenshot highlighting the pip.ini file content.

  6. U kunt uw referenties toevoegen aan het bestand pip.ini of pip.conf om te voorkomen dat u uw persoonlijke toegangstoken telkens hoeft in te voeren wanneer u een pakket installeert vanuit uw feed. Zorg ervoor dat u uw persoonlijke toegangstoken niet controleert in een openbare opslagplaats.

    Voorbeeld van een pip.ini - of pip.conf-bestand met referenties:

    [global]
    index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Voer de volgende opdracht uit om uw pakket te installeren, waarbij <u PACKAGE_NAME> vervangt door de pakketnaam uit uw feed.

    pip install <PACKAGE_NAME>