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


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

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

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

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

  • Включение вышестоящих источников для веб-канала
  • Добавление PyPI в качестве вышестоящего источника
  • Настройка проекта
  • Установка пакетов из индекса пакета Python

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

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

  • Веб-канал артефактов Azure.

  • Скачайте Python.

Включение источников вышестоящего канала при создании нового веб-канала

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

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

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

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

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

    Снимок экрана, показывающий, как создать веб-канал необходимости.

Добавление PyPI в качестве нового вышестоящего источника

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

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

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

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

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

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

    Снимок экрана, на котором показано, как добавить PyPI в качестве нового вышестоящего источника.

Проверка подлинности с помощью веб-канала

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

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

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

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

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Создайте файл pip.ini (Windows) или файл pip.conf (Mac/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. В этом примере мы установим Flask:

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

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

    pip list
    
  3. Выполните следующую команду, чтобы установить Flask.

    pip install -U Flask
    
  4. После установки пакета Azure Artifacts сохранит копию этого пакета в веб-канале. Пакет должен быть доступен в веб-канале, как показано на снимке экрана ниже.

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