Использовать пакеты из индекса пакетов Python (PyPI)

Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Артефакты Azure позволяют разработчикам использовать единое хранилище для размещения собственных пакетов, а также пакетов, установленных из общедоступных реестров, таких как PyPI.org. При включении внешних источников Azure Artifacts автоматически сохраняет копию любого пакета, установленного из внешнего источника пользователем с достаточным уровнем доступа. В этой статье описывается настройка проекта и использование командной строки для использования пакетов Python из индекса пакетов Python (PyPI).

Предварительные требования

Товар Требования
Azure DevOps Организация Azure DevOps.
— проект Azure DevOps .
— Скачивание и установка Python.

Создайте новую ленту и добавьте общедоступные потоки данных

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

  1. Войдите в Azure DevOps, а затем перейдите к проекту.

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

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

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

    Снимок экрана, на котором показано, как создать нужный канал и включить внешние источники в Azure Artifacts.

Добавить репозиторий PyPI в upstream

Если вы включили внешние источники при создании фида, PyPI должен быть автоматически добавлен в качестве внешнего источника. В противном случае его можно добавить вручную, выполнив следующие действия.

  1. Войдите в Azure DevOps, а затем перейдите к проекту.

  2. Выберите Артефакты, а затем щелкните значок шестеренки, чтобы открыть Настройки ленты.

  3. Выберите "Вышестоящие источники", а затем нажмите кнопку "Добавить источник".

  4. Выберите общедоступный источник, а затем выберите PyPI (https://pypi.org/) из раскрывающегося списка.

  5. Нажмите кнопку "Добавить", а затем нажмите кнопку "Сохранить " в правом верхнем углу, чтобы применить изменения.

Аутентификация с помощью вашей ленты

Убедитесь, что вы установили Python из необходимых компонентов, а затем выполните следующие действия, чтобы подключиться к ленте:

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

    python -m pip install --upgrade pip
    
  2. Выполните следующую команду, чтобы установить связку ключей Azure Artifacts:

    pip install keyring artifacts-keyring
    
  3. Создайте личный токен доступа с областью Упаковка и > для проверки подлинности с помощью Azure DevOps. При первом подключении к Azure DevOps вам будет предложено предоставить учетные данные. Введите любое значение имени пользователя и используйте PAT в качестве пароля. Эти учетные данные кэшируются локально и повторно используются при следующей проверке подлинности.

  4. Перейдите в каталог проекта, а затем создайте виртуальную среду:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. В виртуальной среде создайте файлpip.ini (Windows) или файл pip.conf (macOS/Linux), а затем добавьте следующий фрагмент кода. Замените заполнители соответствующими значениями. Не сохраняйте этот файл в общий репозиторий, так как он содержит ваш личный токен доступа.

    • Лента обновлений проекта

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      
    • Канал с организационной областью охвата:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      

Установка пакетов из PyPI

Теперь, когда вы прошли аутентификацию с вашим источником, вы можете устанавливать пакеты из репозитория PyPI с помощью pip, как обычно. Любой установленный пакет автоматически сохраняется в фиде Артефактов Azure.

В этом примере вы установите запросы, популярную библиотеку HTTP для Python.

Замечание

Чтобы сохранить пакеты из вышестоящих источников, необходимо иметь роль "Канал и средство чтения вышестоящих источников (Сотрудник)" или выше. Дополнительные сведения см. в разделе "Управление разрешениями ".

  1. Откройте командную строку и перейдите в каталог проекта, а затем активируйте виртуальную среду. Замените заполнитель именем созданной ранее виртуальной среды:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate
    
  2. Выполните следующую команду, чтобы установить пакет запросов из PyPI.

    pip install requests
    
  3. После завершения установки Azure Artifacts сохраняет копию пакета в вашем канале. Перейдите к ленте, чтобы убедиться, что пакет доступен, как показано на следующем изображении экрана.

    Снимок экрана: пакет запросов, установленный из вышестоящего потока PyPI.