Delen via


Python-pakketten publiceren en downloaden met Azure Artifacts

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Met Behulp van Azure Artifacts kunt u pakketten publiceren en downloaden uit feeds en openbare registers, zoals PyPi. In deze quickstart wordt u begeleid bij het maken van een feed, het configureren van uw project en het beheren van Python-pakketten in uw Azure Artifacts-feed.

Voorwaarden

Product Eisen
Azure DevOps - Een Azure DevOps organisatie.
- Een Azure DevOps--project.
- Download en installeer Python.

De code ophalen

  1. Als u geen eigen Python-project hebt, kunt u het volgende Python-voorbeeldproject gebruiken. Anders kunt u doorgaan naar de volgende sectie:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Voer de volgende opdrachten uit in de projectmap om uw wiel- en brondistributie te bouwen:

    pip install --upgrade build
    python -m build
    
  3. Als uw Python-project een setup.py-bestand heeft, kunt u uw pakket ook bouwen met behulp van:

    python setup.py sdist bdist_wheel
    

Een feed maken

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

  2. Selecteer Artefacten selecteer vervolgens Feed maken.

  3. Geef een Naam op voor uw feed, kies de optie Zichtbaarheid waarmee wordt gedefinieerd wie uw pakketten kan bekijken, controleer Pakketten opnemen uit gemeenschappelijke openbare bronnen als u pakketten uit bronnen zoals nuget.org of npmjs.comwilt opnemen, en voor Bereik, bepaalt u of de feed moet worden afgestemd op uw project of de hele organisatie.

  4. Selecteer Aanmaken wanneer u klaar bent.

    Schermopname van selecties voor het maken van een nieuwe feed in Azure DevOps Services.

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

  2. Selecteer Artefacten selecteer vervolgens Feed maken.

  3. Geef een Naam op voor uw feed, kies de optie Zichtbaarheid waarmee wordt gedefinieerd wie uw pakketten kan bekijken, controleer Pakketten opnemen uit gemeenschappelijke openbare bronnen als u pakketten uit bronnen zoals nuget.org of npmjs.comwilt opnemen, en voor Bereik, bepaalt u of de feed moet worden afgestemd op uw project of de hele organisatie.

  1. Selecteer Aanmaken wanneer u klaar bent.

    Schermopname van selecties voor het maken van een nieuwe feed in Azure DevOps 2022.

Notitie

Standaard wordt aan de buildservice voor het project (bijvoorbeeld projectName Build Service (orgName)) de rol Feed en Upstream Reader (Samenwerker) toegewezen wanneer er een nieuwe feed wordt gemaakt.

Verbinding maken met uw feed

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

  2. Kies Artefacten, kies uw feed uit het vervolgkeuzemenu en kies vervolgens Verbinding maken met feed.

  3. Selecteer in de sectie Pythonde optie Twine.

  4. Als dit de eerste keer is dat u Azure Artifacts gebruikt met twine, selecteert u De hulpprogramma's ophalen en volgt u de instructies om Python te downloaden en Twine en de sleutelhanger voor artefacten te installeren.

  5. Maak een pypirc-bestand in uw basismap en plak het fragment dat is opgegeven in de sectie Project-installatie . Het bestand moet er als volgt uitzien:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Notitie

Als uw PYPIRC-bestand al referenties bevat voor de openbare PyPI-index, raden we u aan de [pypi] sectie te verwijderen om te voorkomen dat privépakketten per ongeluk naar PyPI worden gepubliceerd.

Pakketten publiceren naar uw feed

  1. Voer in de projectmap de volgende opdracht uit om bron- en wieldistributies te maken:

    python setup.py sdist bdist_wheel
    
    
  2. Gebruik de onderstaande opdracht om uw pakket te publiceren. Zorg ervoor dat u de vlag -r FEED_NAME gebruikt om te voorkomen dat u per ongeluk naar PyPI publiceert:

    twine upload -r <FEED_NAME> dist/*
    

Pakketten installeren vanuit uw feed

  1. Als u pakketten wilt installeren vanuit uw feed, voert u de volgende opdracht uit in uw projectmap:

    pip install
    
  2. Als u een specifiek pakket wilt installeren, vervangt u de tijdelijke aanduiding door de pakketnaam uit uw feed:

    pip install <PACKAGE_NAME>