Szybki start: publikowanie i używanie pakietów języka Python za pomocą usługi Azure Artifacts przy użyciu wiersza polecenia (interfejs wiersza polecenia)

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

W tym przewodniku Szybki start dowiesz się, jak utworzyć źródło danych usługi Azure Artifacts i użyć kanału informacyjnego do publikowania i używania pakietów języka Python z wiersza polecenia w lokalnym środowisku projektowym. Po zakończeniu masz pakiet języka Python opublikowany w kanale informacyjnym i zainstalowany z kanału informacyjnego do lokalnego środowiska deweloperskiego.

Aby opublikować i korzystać z pakietów w usłudze Azure Pipelines, zobacz Publikowanie pakietów języka Python za pomocą usługi Azure Pipelines.

Wymagania wstępne

Aby uruchomić następujące kroki, musisz mieć następujące elementy:

  • Organizacja: Azure DevOps. Utwórz je bezpłatnie.
  • Osobisty token dostępu (PAT) z zakresem odczytu pakietów>. Aby go utworzyć, zobacz Tworzenie tokenu dostępu.
  • Projekt usługi Azure DevOps. Jeśli go nie masz, utwórz projekt.
  • Język Python 3.8 lub nowszy zainstalowany na komputerze lokalnym. Pobierz język Python tutaj.
  • pip 19.2 i twine 1.13.0 lub nowszy.
  • Pakiet języka Python do publikowania z komputera lokalnego do kanału informacyjnego.
  • Jeśli używasz przykładowego pakietu języka Python:
    • Konto usługi GitHub. Utwórz bezpłatne konto usługi GitHub, jeśli jeszcze go nie masz.
    • narzędzie git zainstalowane na komputerze lokalnym.
  • Konto usługi GitHub. Utwórz bezpłatne konto usługi GitHub, jeśli jeszcze go nie masz.
  • Dostęp do kolekcji usługi Azure DevOps Server.
  • Osobisty token dostępu (PAT) z zakresem odczytu pakietów>. Aby go utworzyć, zobacz Tworzenie tokenu dostępu.
  • Projekt usługi Azure DevOps. Jeśli go nie masz, utwórz projekt.
  • Środowisko Python w wersji 3.8 lub nowszej zainstalowane w lokalnym środowisku programistycznym.
  • pip 19.2 i twine 1.13.0 lub nowszy.
  • Jeśli używasz przykładowego pakietu języka Python:
    • Konto usługi GitHub. Utwórz bezpłatne konto usługi GitHub, jeśli jeszcze go nie masz.
    • narzędzie git zainstalowane na komputerze lokalnym.

Tworzenie lokalnego pakietu języka Python

Do opublikowania w kanale informacyjnym potrzebny jest pakiet języka Python. Jeśli nie masz pakietu do opublikowania, możesz sklonować przykładowy pakiet języka Python z usługi GitHub.

Klonowanie przykładowego pakietu języka Python

Wykonaj poniższe kroki, aby użyć przykładowego pakietu języka Python z usługi GitHub.

  1. Przejdź do następującego repozytorium GitHub:

    https://github.com/microsoft/python-package-template
    
  2. Rozwidlenie repozytorium na koncie usługi GitHub.

  3. Przejdź do rozwidlenia repozytorium i wybierz pozycję Kod.

  4. Skopiuj adres URL rozwidlenia repozytorium.

  5. Z poziomu interfejsu wiersza polecenia na komputerze lokalnym sklonuj repozytorium przy użyciu następującego polecenia przy użyciu adresu URL skopiowanego z rozwidlonego repozytorium:

    git clone <REPOSITORY_URL>
    
  6. Zmień katalog na sklonowane repozytorium.

    cd python-package-template
    

Kompilowanie pakietu

Aby skompilować koło i dystrybucję źródłową, uruchom następujące polecenia w katalogu projektu:

pip install --upgrade build
python -m build

Jeśli projekt języka Python zawiera setup.py plik, możesz użyć następującego polecenia, aby skompilować pakiet:

python setup.py sdist bdist_wheel

Tworzenie kanału informacyjnego

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

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz kanał informacyjny.

    A screenshot showing how to create a feed.

  3. Wprowadź następujące informacje dotyczące kanału informacyjnego:

    1. Wprowadź opisową nazwę kanału informacyjnego.
    2. Zdefiniuj widoczność (wskazując, kto może wyświetlać pakiety w kanale informacyjnym).
    3. Wybierz, czy mają być używane pakiety ze źródeł publicznych, takich jak pypi.org.
    4. Określ zakres kanału informacyjnego.
  4. Wybierz pozycję Utwórz.

  1. Przejdź do kolekcji usługi Azure DevOps, a następnie wybierz projekt.

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz kanał informacyjny.

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

  3. Wprowadź następujące informacje dotyczące kanału informacyjnego:

    1. Wprowadź opisową nazwę kanału informacyjnego.
    2. Zdefiniuj widoczność (wskazując, kto może wyświetlać pakiety w kanale informacyjnym).
    3. Wybierz, czy mają być używane pakiety ze źródeł publicznych, takich jak pypi.org.
    4. Określ zakres kanału informacyjnego.
  4. Wybierz pozycję Utwórz.

  1. Przejdź do kolekcji usługi Azure DevOps, a następnie wybierz projekt.

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz źródło danych , aby utworzyć nowe źródło danych.

  3. Wprowadź następujące informacje dotyczące kanału informacyjnego:

    1. Wprowadź opisową nazwę kanału informacyjnego.
    2. Zdefiniuj widoczność (wskazując, kto może wyświetlać pakiety w kanale informacyjnym).
    3. Wybierz, czy mają być używane pakiety ze źródeł publicznych, takich jak pypi.org.
    4. Określ zakres kanału informacyjnego.
  4. Wybierz pozycję Utwórz.

  1. Przejdź do kolekcji usługi Azure DevOps, a następnie wybierz projekt.

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz źródło danych , aby utworzyć nowe źródło danych.

  3. Wprowadź następujące informacje dotyczące kanału informacyjnego:

    1. Wprowadź opisową nazwę kanału informacyjnego.
    2. Zdefiniuj widoczność (wskazując, kto może wyświetlać pakiety w kanale informacyjnym).
    3. Określ, czy używać pakietów ze źródeł publicznych, takich jak pypi.org.
  4. Wybierz pozycję Utwórz.

Publikowanie pakietu w kanale informacyjnym

Użyj twine, aby przekazać pakiet do źródła danych usługi Azure Artifacts.

  1. Przejdź do projektu usługi Azure DevOps i wybierz pozycję Artefakty.

  2. Wybierz kanał informacyjny i wybierz pozycję Połączenie do kanału informacyjnego.

    A screenshot highlighting the connect to feed.

  3. Wybierz pozycję Twine w sekcji Python .

    A screenshot highlighting the twine package type.

  4. Na komputerze deweloperskim upewnij się, że zainstalowano bliźniacze reprezentacje.

    pip install --upgrade twine
    
  5. Postępuj zgodnie z instrukcjami w sekcji Konfiguracja projektu, aby skonfigurować .pypirc plik.

    A screenshot highlighting the `.pyirc` content.

  6. Aby uniknąć konieczności wprowadzania osobistego tokenu dostępu za każdym razem, gdy publikujesz pakiet, możesz dodać poświadczenia do .pypirc pliku. Upewnij się, że nie sprawdzasz osobistego tokenu dostępu do repozytorium publicznego.

    .pypirc Przykład pliku z poświadczeniami:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Aby przekazać pakiet, uruchom następujące polecenie w katalogu projektu, zastępując <FEED_NAME> nazwą źródła danych. W systemie Windows może być konieczne określenie .pypirc lokalizacji pliku za pomocą argumentu --config-file .

    twine upload --repository <FEED_NAME> dist/*
    

Instalowanie pakietu ze źródła danych

  1. Przejdź do projektu usługi Azure DevOps i wybierz pozycję Artefakty.

  2. Wybierz kanał informacyjny i wybierz pozycję Połączenie do kanału informacyjnego.

    A screenshot highlighting the connect to feed button.

  3. Wybierz pozycję pip w sekcji Python .

    A screenshot highlighting the pip package type.

  4. Przygotuj lokalne środowisko języka Python.

    1. Upewnij się, że narzędzie pip jest zainstalowane i aktualne:

      python -m pip install --upgrade pip
      
    2. Tworzenie i aktywowanie środowiska wirtualnego języka Python:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Dodaj plik pip.ini (Windows) lub pip.conf (Mac/Linux) do katalogu głównego środowiska wirtualnego. Skopiuj zawartość z sekcji Konfiguracja projektu okna dialogowego Połączenie do kanału informacyjnego i dodaj ją do pliku pip.ini lub pip.conf.

    A screenshot highlighting the pip.ini file content.

  6. Aby uniknąć konieczności wprowadzania osobistego tokenu dostępu za każdym razem, gdy instalujesz pakiet ze źródła danych, możesz dodać poświadczenia do pliku pip.ini lub pip.conf . Upewnij się, że nie sprawdzasz osobistego tokenu dostępu do repozytorium publicznego.

    Przykład pliku pip.ini lub pip.conf z poświadczeniami:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Aby zainstalować pakiet, uruchom następujące polecenie, zastępując <PACKAGE_NAME> nazwą pakietu ze źródła danych.

    pip install <PACKAGE_NAME>
    

Czyszczenie zasobów

Po zakończeniu pracy z utworzonymi zasobami możesz je usunąć, aby uniknąć naliczania opłat. Po usunięciu projektu wszystkie kanały informacyjne artefaktów na poziomie projektu zostaną usunięte.

Aby usunąć projekt:

  1. Wybierz pozycję Projekt Ustawienia.
  2. Na stronie Szczegóły projektu wybierz pozycję Usuń w dolnej części strony.
  3. Wprowadź nazwę projektu, aby potwierdzić, a następnie wybierz pozycję Usuń.

Jeśli chcesz usunąć tylko kanał informacyjny:

  1. Wybierz pozycję Artefakty i wybierz źródło danych z menu rozwijanego.
  2. Wybierz przycisk ustawień.
  3. Na karcie Ustawienia kanału informacyjnego wybierz pozycję Usuń źródło danych.
  4. Wybierz Usuń, aby potwierdzić.

Aby wyczyścić lokalne środowisko programistyczne:

  1. Aby dezaktywować środowisko wirtualne, uruchom następujące polecenie:

    deactivate
    
  2. Aby usunąć środowisko wirtualne, usuń katalog, w którym został utworzony.

  3. .pypirc Usuń plik z katalogu macierzystego.

Jeśli sklonujesz przykładowy pakiet języka Python, możesz usunąć repozytorium z komputera lokalnego i konta usługi GitHub.

Następne kroki