Udostępnij za pośrednictwem


Publikowanie i pobieranie pakietów języka Python za pomocą usługi Azure Artifacts

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Za pomocą usługi Azure Artifacts można publikować i pobierać pakiety z kanałów informacyjnych i publicznych rejestrów, takich jak PyPi. Ten szybki przewodnik przeprowadzi Cię przez proces tworzenia strumienia, konfigurowania projektu i zarządzania pakietami Python w strumieniu Azure Artifacts.

Warunki wstępne

produkt Wymagania
Azure DevOps — Organizacja usługi Azure DevOps .
— Projekt usługi Azure DevOps .
— Pobierz i zainstaluj python.

Pobieranie kodu

  1. Jeśli nie masz własnego projektu w języku Python, możesz użyć następującego przykładowego projektu języka Python. W przeciwnym razie możesz przejść do następnej sekcji:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Aby skompilować koło i dystrybucję źródłową, uruchom następujące polecenia w katalogu projektu:

    pip install --upgrade build
    python -m build
    
  3. Jeśli projekt w języku Python ma plik setup.py , możesz również skompilować pakiet przy użyciu:

    python setup.py sdist bdist_wheel
    

Tworzenie kanału informacyjnego

  1. Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.

  2. Wybierz pozycję Artifacts, a następnie wybierz pozycję Create Feed.

  3. Podaj Nazwę dla kanału informacyjnego, wybierz opcję Widoczność, która definiuje, kto może wyświetlać pakiety, zaznacz Uwzględnij pakiety z typowych źródeł publicznych, jeśli chcesz uwzględnić pakiety ze źródeł, takich jak nuget.org lub npmjs.com, a dla Zakres, zdecyduj, czy kanał informacyjny powinien być określony w zakresie projektu, czy całej organizacji.

  4. Po zakończeniu wybierz Utwórz.

    Zrzut ekranu przedstawiający opcje tworzenia nowego kanału informacyjnego w usługach Azure DevOps Services.

  1. Zaloguj się do serwera usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artifacts, a następnie wybierz pozycję Create Feed.

  3. Podaj Nazwę dla kanału informacyjnego, wybierz opcję Widoczność, która definiuje, kto może wyświetlać pakiety, zaznacz Uwzględnij pakiety z typowych źródeł publicznych, jeśli chcesz uwzględnić pakiety ze źródeł, takich jak nuget.org lub npmjs.com, a dla Zakres, zdecyduj, czy kanał informacyjny powinien być określony w zakresie projektu, czy całej organizacji.

  1. Po zakończeniu wybierz Utwórz.

    Zrzut ekranu przedstawiający opcje tworzenia nowego źródła danych w usłudze Azure DevOps 2022.

  1. Po zakończeniu wybierz Utwórz.

    Zrzut ekranu przedstawiający opcje tworzenia nowego źródła danych w usłudze Azure DevOps 2020.

Notatka

Domyślnie usługa kompilacji dla projektu (na przykład: projectName Build Service (orgName)) ma przypisaną rolę Kanał informacyjny i Nadrzędny czytelnik (współpracownik) podczas tworzenia nowego źródła danych.

Połącz się ze swoim kanałem

  • twine
  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artifacts, wybierz źródło danych z menu rozwijanego, a następnie wybierz pozycję Connect to feed.

  3. W sekcji Python wybierz pozycję Twine.

  4. Jeśli po raz pierwszy używasz usługi Azure Artifacts z Twine, wybierz pozycję Pobierz narzędzia i postępuj zgodnie z instrukcjami, aby pobrać Python i zainstalować Twine oraz artifacts keyring.

  5. Utwórz plik pypirc w katalogu głównym i wklej fragment kodu podany w sekcji Konfiguracja projektu . Plik powinien wyglądać następująco:

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

Notatka

Jeśli plik pypirc zawiera już poświadczenia dla publicznego indeksu PyPI, zalecamy usunięcie [pypi] sekcji, aby uniknąć przypadkowego publikowania pakietów prywatnych w repozytorium PyPI.

Publikowanie pakietów w kanale informacyjnym

  1. W katalogu projektu uruchom następujące polecenie, aby utworzyć rozkłady źródła i koła:

    python setup.py sdist bdist_wheel
    
    
  2. Aby opublikować pakiet, użyj poniższego polecenia. Pamiętaj, aby użyć flagi -r FEED_NAME, aby uniknąć przypadkowego publikowania w PyPI.

    twine upload -r <FEED_NAME> dist/*
    

Instalowanie pakietów ze źródła danych

  1. Aby zainstalować pakiety ze źródła danych, uruchom następujące polecenie w katalogu projektu:

    pip install
    
  2. Aby zainstalować określony pakiet, zastąp symbol zastępczy nazwą pakietu ze źródła danych:

    pip install <PACKAGE_NAME>