Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Registry
KZ
  • Начало работы
    • Все инструкции
        • Настроить PyPI
        • Создать Python-пакет
        • Загрузить Python-пакет в реестр
        • Скачать Python-пакет из реестра
        • Удалить Python-пакет из реестра
        • Примеры работы с PyPI-реестрами
    • Создание политики жизненного цикла
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails

В этой статье:

  • Создание и использование реестров
  • Локальный реестр
  • Удаленный реестр
  • Виртуальный реестр
  1. Пошаговые инструкции
  2. Управление артефактами
  3. Python-артефакт
  4. Примеры работы с PyPI-реестрами

Примеры работы с PyPI-реестрами

Статья создана
Yandex Cloud
Обновлена 14 мая 2026 г.
  • Создание и использование реестров
    • Локальный реестр
    • Удаленный реестр
    • Виртуальный реестр

В этом разделе приведены пошаговые примеры для различных типов PyPI-реестров.

Создание и использование реестровСоздание и использование реестров

Локальный реестрЛокальный реестр

  1. Создайте реестр:

    yc cloud-registry registry create \
      --name my-pypi-local \
      --registry-kind pypi \
      --registry-type local \
      --description "Local PyPI registry"
    

    Результат:

    id: e5o6a2blpkb6********
    name: my-pypi-local
    kind: PYPI
    type: LOCAL
    
  2. Создайте пакет:

    mkdir -p my_package/my_package
    cd my_package
    

    Создайте файл my_package/__init__.py:

    def hello():
        return "Hello from my package!"
    

    Создайте pyproject.toml:

    [build-system]
    requires = ["setuptools"]
    
    [project]
    name = "my_package"
    version = "0.0.1"
    authors = [{ name="Example Author", email="author@example.com" }]
    description = "A small example package"
    readme = "README.md"
    requires-python = ">=3.9"
    classifiers = [
        "Programming Language :: Python :: 3",
        "Operating System :: OS Independent",
    ]
    

    Создайте README.md:

    # My Package
    Это пример Python-пакета.
    
  3. Настройте аутентификацию:

    Создайте ~/.pypirc:

    [distutils]
    index-servers = cloud-registry
    
    [cloud-registry]
    repository = https://registry.yandexcloud.net/pypi/e5o6a2b********/legacy/
    username = iam
    password = <IAM-токен>
    
  4. Соберите пакет и опубликуйте:

    python3 -m venv my-venv && source my-venv/bin/activate
    python3 -m pip install build twine
    python3 -m build
    python3 -m twine upload --repository cloud-registry dist/*
    
  5. Установите пакет:

    pip install my_package \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o6a2blpkb6********/simple/ \
      --no-cache
    

    Проверка:

    python3 -c "from my_package import hello; print(hello())"
    # Hello from my package!
    

Удаленный реестрУдаленный реестр

  1. Создайте реестр:

    yc cloud-registry registry create \
      --name my-pypi-remote \
      --registry-kind pypi \
      --registry-type remote \
      --description "Remote PyPI proxy" \
      --properties source=@pypi
    

    Результат:

    id: e5o7b3cmqlc7********
    name: my-pypi-remote
    kind: PYPI
    type: REMOTE
    
  2. Установите пакет (первый раз):

    При первой установке пакет загружается из публичного PyPI и сохраняется в кеш:

    pip install pytest==9.0.1 \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o7b3cmqlc7********/simple/ \
      --no-cache
    
  3. Установите пакет (повторно):

    При повторной установке пакет загружается из кеша:

    pip install pytest==9.0.1 \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o7b3cmqlc7********/simple/ \
      --no-cache
    
  4. Установите другой пакет:

    pip install requests==2.31.0 \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o7b3cmqlc7********/simple/ \
      --no-cache
    

Примечание

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

Виртуальный реестрВиртуальный реестр

  1. Создайте реестр:

    Объедините локальный (cn1mfr50********) и удаленный (cn1ihsdl********) реестры:

    yc cloud-registry registry create \
      --name my-pypi-virtual \
      --description "Виртуальный реестр" \
      --registry-kind pypi \
      --registry-type virtual \
      --properties "readOnly=false,deploymentRegistryId=cn1mfr50********,registryIds=cn1mfr50********;cn1ihsdl********"
    

    Результат:

    id: e5o9d5eosne9********
    name: my-pypi-virtual
    kind: PYPI
    type: VIRTUAL
    
  2. Установите внутренний пакет:

    Виртуальный реестр сначала ищет в локальном реестре:

    pip install my_package \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o9d5eosne9********/simple/ \
      --no-cache
    
  3. Установите публичный пакет:

    Если пакет не найден в локальном, ищет в удаленном:

    pip install pytest==9.0.1 \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o9d5eosne9********/simple/ \
      --no-cache
    
  4. Установите несколько пакетов:

    pip install my_package pytest==9.0.1 requests==2.31.0 \
      --index-url https://iam:$(yc iam create-token)@registry.yandexcloud.net/pypi/e5o9d5eosne9********/simple/ \
      --no-cache
    

См. такжеСм. также

  • Создать Python-пакет
  • Загрузить Python-пакет в локальный реестр Cloud Registry
  • Скачать Python-пакет из реестра Cloud Registry
  • Политика жизненного цикла в Yandex Cloud Registry
  • Настройка политик жизненного цикла

Была ли статья полезна?

Предыдущая
Удалить Python-пакет из реестра
Следующая
Загрузить binary-артефакт в реестр
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»