Краткое руководство. Публикация и использование пакетов Python с помощью артефактов Azure с помощью командной строки (CLI)

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

Из этого краткого руководства вы узнаете, как создать веб-канал Azure Artifacts и использовать веб-канал для публикации и использования пакетов Python из командной строки в локальной среде разработки. По завершении у вас будет пакет Python, опубликованный в веб-канале и установленный из веб-канала в локальную среду разработки.

Сведения о публикации и использовании пакетов в Azure Pipelines см. в статье "Публикация пакетов Python с помощью Azure Pipelines".

Необходимые компоненты

Чтобы выполнить следующие действия, необходимо выполнить следующие действия:

  • Организация Azure DevOps. Создайте ее бесплатно.
  • Личный маркер доступа (PAT) с область чтения упаковки>. Сведения о создании см. в разделе "Создание PAT".
  • Проект Azure DevOps. Если у вас его нет, создайте проект.
  • Python 3.8 или более поздней версии, установленный на локальном компьютере. Скачайте Python здесь.
  • pip 19.2 и twine 1.13.0 или более поздней версии.
  • Пакет Python для публикации с локального компьютера на веб-канале.
  • При использовании примера пакета Python:
  • Учетная запись GitHub. Создайте бесплатную учетную запись GitHub, если еще не сделали этого.
  • Доступ к коллекции Azure DevOps Server.
  • Личный маркер доступа (PAT) с область чтения упаковки>. Сведения о создании см. в разделе "Создание PAT".
  • Проект Azure DevOps. Если у вас его нет, создайте проект.
  • Python 3.8 или более поздней версии, установленный в локальной среде разработки.
  • pip 19.2 и twine 1.13.0 или более поздней версии.
  • При использовании примера пакета Python:

Создание локального пакета Python

Вам нужен пакет Python для публикации в веб-канале. Если у вас нет пакета для публикации, можно клонировать пример пакета Python из GitHub.

Клонирование примера пакета Python

Выполните следующие действия, чтобы использовать пример пакета Python из GitHub.

  1. Перейдите к следующему репозиторию GitHub:

    https://github.com/microsoft/python-package-template
    
  2. Репозиторий, скопированный в учетную запись GitHub.

  3. Перейдите в вилку репозитория и выберите "Код".

  4. Скопируйте URL-адрес вилированного репозитория.

  5. На локальном компьютере клонируйте репозиторий с помощью следующей команды с помощью URL-адреса, скопированного из вилированного репозитория:

    git clone <REPOSITORY_URL>
    
  6. Измените каталог на клонированного репозитория.

    cd python-package-template
    

Создание пакета

Чтобы создать колесо и исходное распределение, выполните следующие команды в каталоге проекта:

pip install --upgrade build
python -m build

Если в проекте Python есть setup.py файл, можно использовать следующую команду для сборки пакета:

python setup.py sdist bdist_wheel

Создание веб-канала

  1. Войдите в свою организацию Azure DevOps и перейдите в проект.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

    A screenshot showing how to create a feed.

  3. Введите следующие сведения для веб-канала:

    1. Введите описательное имя веб-канала.
    2. Определите ее видимость (показывающий, кто может просматривать пакеты в веб-канале).
    3. Выберите, следует ли использовать пакеты из общедоступных источников, таких как pypi.org.
    4. Укажите область веб-канала.
  4. Нажмите кнопку создания.

  1. Перейдите в коллекцию Azure DevOps, выберите проект.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

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

  3. Введите следующие сведения для веб-канала:

    1. Введите описательное имя веб-канала.
    2. Определите ее видимость (показывающий, кто может просматривать пакеты в веб-канале).
    3. Выберите, следует ли использовать пакеты из общедоступных источников, таких как pypi.org.
    4. Укажите область веб-канала.
  4. Нажмите кнопку создания.

  1. Перейдите в коллекцию Azure DevOps, выберите проект.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал", чтобы создать новый веб-канал .

  3. Введите следующие сведения для веб-канала:

    1. Введите описательное имя веб-канала.
    2. Определите ее видимость (показывающий, кто может просматривать пакеты в веб-канале).
    3. Выберите, следует ли использовать пакеты из общедоступных источников, таких как pypi.org.
    4. Укажите область веб-канала.
  4. Нажмите кнопку создания.

  1. Перейдите в коллекцию Azure DevOps, выберите проект.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал", чтобы создать новый веб-канал .

  3. Введите следующие сведения для веб-канала:

    1. Введите описательное имя веб-канала.
    2. Определите ее видимость (показывающий, кто может просматривать пакеты в веб-канале).
    3. Выберите, следует ли использовать пакеты из общедоступных источников, таких как pypi.org.
  4. Нажмите кнопку создания.

Публикация пакета в веб-канале

Используйте twine для отправки пакета в веб-канал Артефактов Azure.

  1. Перейдите в проект Azure DevOps и выберите артефакты.

  2. Выберите веб-канал и выберите Подключение для веб-канала.

    A screenshot highlighting the connect to feed.

  3. Выберите twine в разделе Python .

    A screenshot highlighting the twine package type.

  4. На компьютере разработки убедитесь, что двойник установлен.

    pip install --upgrade twine
    
  5. Следуйте инструкциям в разделе "Настройка проекта", чтобы настроить .pypirc файл.

    A screenshot highlighting the `.pyirc` content.

  6. Чтобы избежать необходимости вводить личный маркер доступа при каждом публикации пакета, вы можете добавить учетные данные в .pypirc файл. Убедитесь, что вы не проверка личный маркер доступа в общедоступный репозиторий.

    .pypirc Пример файла с учетными данными:

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Чтобы отправить пакет, выполните следующую команду в каталоге проекта, заменив <FEED_NAME> именем веб-канала. В Windows может потребоваться указать .pypirc расположение файла с аргументом --config-file .

    twine upload --repository <FEED_NAME> dist/*
    

Установка пакета из веб-канала

  1. Перейдите в проект Azure DevOps и выберите артефакты.

  2. Выберите веб-канал и выберите Подключение для веб-канала.

    A screenshot highlighting the connect to feed button.

  3. Выберите pip в разделе Python .

    A screenshot highlighting the pip package type.

  4. Подготовьте локальную среду Python.

    1. Убедитесь, что pip установлен и обновлен:

      python -m pip install --upgrade pip
      
    2. Создайте и активируйте виртуальную среду Python:

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Добавьте файл pip.ini (Windows) или pip.conf (Mac/Linux) в корневой каталог виртуальной среды. Скопируйте содержимое из раздела установки проекта Подключение в диалоговое окно канала и добавьте его в файл pip.ini или pip.conf.

    A screenshot highlighting the pip.ini file content.

  6. Чтобы избежать необходимости вводить личный маркер доступа при каждом установке пакета из веб-канала, вы можете добавить свои учетные данные в файл pip.ini или pip.conf . Убедитесь, что вы не проверка личный маркер доступа в общедоступный репозиторий.

    Пример файла pip.ini или pip.conf с учетными данными:

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Чтобы установить пакет, выполните следующую команду, заменив <PACKAGE_NAME> именем пакета из веб-канала.

    pip install <PACKAGE_NAME>
    

Очистка ресурсов

После завершения работы с созданными ресурсами их можно удалить, чтобы избежать возникновения расходов. При удалении проекта удаляются все его веб-каналы уровня проекта.

Удаление проекта:

  1. Выберите Параметры проекта.
  2. На странице сведений о проекте выберите "Удалить" в нижней части страницы.
  3. Введите имя проекта для подтверждения и нажмите кнопку "Удалить".

Если вы хотите удалить веб-канал, выполните следующие действия.

  1. Выберите артефакты и выберите веб-канал в раскрывающемся меню.
  2. Нажмите кнопку "Параметры".
  3. На вкладке "Параметры веб-канала" выберите "Удалить канал".
  4. Выберите Удалить, чтобы подтвердить.

Чтобы очистить локальную среду разработки, выполните приведенные далее действия.

  1. Чтобы отключить виртуальную среду, выполните следующую команду:

    deactivate
    
  2. Чтобы удалить виртуальную среду, удалите каталог, в котором он был создан.

  3. .pypirc Удалите файл из домашнего каталога.

Если вы клонировали пример пакета Python, вы можете удалить репозиторий с локального компьютера и учетной записи GitHub.

Следующие шаги