Использование пакетов из индекса пакетов 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 в качестве вышестоящего источника.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефакты и нажмите кнопку "Создать веб-канал", чтобы создать новый веб-канал .
Введите описательное имя веб-канала и определите его видимость (указывающее, кто может просматривать пакеты в веб-канале). Укажите область веб-канала и установите флажок "Вышестоящий источник", чтобы включить пакеты из общедоступных реестров.
После завершения работы выберите Создать.
Добавление PyPI в качестве нового вышестоящего источника
Если вы выбрали флажок "Вышестоящий источник" во время создания веб-канала, PyPI должен быть автоматически включен в качестве вышестоящего источника. В противном случае его можно добавить вручную, выполнив следующие действия.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефакты и щелкните значок шестеренки, чтобы перейти к параметрам канала.
Выберите источники вышестоящего потока и нажмите кнопку "Добавить вверх" , чтобы добавить новый вышестоящий источник.
Выберите общедоступный источник и выберите PyPI (https://pypi.org/) в раскрывающемся меню.
Нажмите кнопку "Добавить" , а затем нажмите кнопку "Сохранить " в правом верхнем углу, чтобы сохранить изменения.
Проверка подлинности с помощью веб-канала
Убедитесь, что вы скачали Python, а затем выполните следующую команду, чтобы обновить диспетчер пакетов Python:
python -m pip install --upgrade pip
Выполните следующую команду, чтобы установить ключ Azure Artifacts:
pip install keyring artifacts-keyring
Создайте маркер личного доступа с областью чтения упаковки>для проверки подлинности с помощью Azure DevOps. При первом подключении к Azure DevOps необходимо ввести учетные данные при появлении запроса. Укажите имя пользователя (любая строка) и личный маркер доступа в указанных полях. Эти учетные данные будут кэшироваться локально и автоматически использоваться для входа в следующий раз, когда вы используете службу.
Перейдите в папку проекта и выполните следующую команду, чтобы создать новую виртуальную среду:
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
Создайте файл 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
:
В окне командной строки перейдите в папку проекта и выполните следующую команду, чтобы активировать виртуальную среду. Замените заполнитель именем созданной ранее виртуальной среды:
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
Выполните следующую команду, чтобы проверить пакеты, установленные в виртуальной среде:
pip list
Выполните следующую команду, чтобы установить Flask.
pip install -U Flask
После установки пакета Azure Artifacts сохранит копию этого пакета в веб-канале. Пакет должен быть доступен в веб-канале, как показано на снимке экрана ниже.