Облачная платформаEvolution

Использовать PyPI-реестр в качестве источника пакетов для среды разработки Python


Вы можете указать реестр Artifact Registry в качестве источника PyPI-пакетов для вашего окружения.

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

Базовый способ (через pip)

Этот способ используется для любого менеджера пакетов.

  1. Добавьте фрагмент в конфигурационный файл: для Unix — ~/.config/pip/pip.conf, для Windows — %APPDATA%\pip\pip.ini:

    index-url = https://<registry_name>-pypi.ar.cloud.ru/simple
    extra-index-url = https://pypi.org/simple
    trusted-host = <registry_name>-pypi.ar.cloud.ru

    Где <registry_name> — название реестра в Artifact Registry.

  2. В зависимости от доступности реестра:

    • Если реестр публичный, перейдите к шагу 3.

    • Если реестр приватный, добавьте логин и пароль ключа доступа в конфигурационный файл и перейдите к шагу 3.

      index-url = https://<key_id>:<key_secret>@<registry_name>-pypi.ar.cloud.ru/simple
      extra-index-url = https://pypi.org/simple
      trusted-host = <registry_name>-pypi.ar.cloud.ru

      Где:

      • <registry_name> — название реестра в Artifact Registry.

      • <key_id> — логин ключа доступа.

      • <key_secret> — пароль ключа доступа.

  3. Выполните команду:

    pip install <package_name>

    Где <package_name> — название пакета из поля name в метаданных.

Менеджер пакетов pip

Выполните команду:

pip install --extra-index-url https://example.com/pypi/simple <package_name>

Где <package_name> — название пакета из поля name в метаданных.

Менеджер пакетов poetry

Способ 1

Выполните команды:

poetry config repositories.<registry_name> https://<registry_name>-pypi.ar.cloud.ru/simple/
poetry config http-basic.<registry_name> <key_id> <key_secret>

Где:

  • <registry_name> — название реестра в Artifact Registry.

  • <key_id> — логин ключа доступа.

  • <key_secret> — пароль ключа доступа.

Способ 2

Вы можете задать свои учетные данные с помощью переменных окружения:

export POETRY_HTTP_BASIC_<MY_REGISTRY>_USERNAME=<key_id>
export POETRY_HTTP_BASIC_<MY_REGISTRY>_PASSWORD=<key_secret>

Где:

  • <MY_REGISTRY> — название реестра в Artifact Registry.

  • <key_id> — логин ключа доступа.

  • <key_secret> — пароль ключа доступа.

Менеджер пакетов pipenv

  1. Добавьте переменные окружения:

    export AR_PYPI_KEY=<key_id>
    export AR_PYPI_SECRET=<key_secret>

    Где:

    • <key_id> — логин ключа доступа.

    • <key_secret> — пароль ключа доступа.

  2. Добавьте в pipfile:

    [[source]]
    url = "https://${AR_PYPI_KEY}:${AR_PYPI_SECRET}@<registry_name>-pypi.ar.cloud.ru/simple"
    verify_ssl = true
    name = "<registry_name>"

    Где <registry_name> — название реестра в Artifact Registry.

Менеджер пакетов uv

  1. Добавьте переменные окружения:

    export UV_INDEX_<MY_REGISTRY>_USERNAME=<key_id>
    export UV_INDEX_<MY_REGISTRY>_PASSWORD=<key_secret>

    Где:

    • <MY_REGISTRY> — название реестра в Artifact Registry.

    • <key_id> — логин ключа доступа.

    • <key_secret> — пароль ключа доступа.

  2. Добавьте в pyproject.toml:

    [[tool.uv.index]]
    name = "<registry_name>"
    url = "https://<registry_name>-pypi.ar.cloud.ru/simple"

    Где <registry_name> — название реестра в Artifact Registry.