Поделиться через


Начало работы с пакетами Python в Azure Artifacts

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

С помощью артефактов Azure можно публиковать и скачивать пакеты из веб-каналов и общедоступных реестров, таких как PyPi. В этом кратком руководстве вы узнаете, как создать веб-канал, настроить проект и управлять пакетами Python в веб-канале Azure Artifacts. В этой статье описано, как:

  • Создайте новую ленту.
  • Аутентификация с вашим источником ленты.
  • Публикация пакетов Python.
  • Установите пакеты из вашего репозитория.

Необходимые условия

  • Создайте организацию Azure DevOps и проект , если вы еще не сделали этого.

  • Скачайте и установите Python.

Получение кода

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

    https://github.com/microsoft/python-package-template
    
  2. Чтобы создать колесо и исходное распределение, выполните следующие команды в каталоге проекта:

    pip install --upgrade build
    python -m build
    
  3. Если в проекте Python есть файл setup.py, вы также можете использовать эту команду для сборки пакета:

    python setup.py sdist bdist_wheel
    

Создать канал

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

  2. Выберите Артефакты, а затем выберите Создать ленту.

  3. Укажите имя для фида, выберите параметр видимости, который определяет, кто может просматривать пакеты, отметьте включение пакетов из общедоступных источников, если вы хотите включить пакеты из источников, таких как nuget.org или npmjs.com, и для области определите, должен ли фид охватывать только ваш проект или всю организацию.

  4. После завершения выберите Создать.

    снимок экрана, на котором показаны варианты для создания нового фида в Azure DevOps Services.

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

  2. Выберите Артефакты, а затем выберите Создать ленту.

  3. Укажите имя для вашего веб-канала, выберите опцию видимости, которая определяет, кто может просматривать ваши пакеты, отметьте Включить пакеты из общих общедоступных источников, если вы хотите включить пакеты из таких источников, как nuget.org или npmjs.com, и для области решите, должен ли веб-канал быть ограничен вашим проектом или всей организацией.

  1. После завершения выберите Создать.

    снимок экрана, на котором показаны выборы для создания веб-канала в Azure DevOps 2022.

  1. После завершения выберите Создать.

    снимок экрана, на котором показаны выборы для создания веб-канала в Azure DevOps 2020.

Заметка

По умолчанию новые фиды имеют значение службы сборки проекта, установленное на Учётную запись фида и вышестоящего читателя (сотрудник).

Подключитесь к ленте

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

  2. Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.

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

  4. Если вы впервые используете Azure Artifacts с twine, выберите Установите необходимые инструменты и выполните действия по установке необходимых компонентов.

  5. Добавьте файл pypirc в домашний каталог и вставьте предоставленный фрагмент кода. Файл должен выглядеть следующим образом:

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

Заметка

Если файл .pypirc уже содержит учетные данные для общедоступного индекса PyPI, рекомендуется удалить раздел [pypi], чтобы предотвратить случайную публикацию частных пакетов в PyPI.

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

  1. Выполните следующую команду в каталоге проекта для создания исходных и колесных дистрибутивов:

    python setup.py sdist bdist_wheel
    
    
  2. Выполните следующую команду, чтобы опубликовать пакет. Используйте флаг -r FEED_NAME, чтобы убедиться, что частные пакеты не были случайно опубликованы в PyPI.

    twine upload -r <FEED_NAME> dist/*
    

Установка пакетов

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

    pip install
    
  2. Чтобы установить определенный пакет, выполните следующую команду, заменив плейсхолдер именем пакета из репозитория.

    pip install <PACKAGE_NAME>
    

Дальнейшие действия