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

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

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

Создать Python-пакет

Статья создана
Yandex Cloud
Обновлена 14 мая 2026 г.
  • Структура Python-пакета
  • Создание пакета
  • Что дальше

В этой инструкции описано, как создать Python-пакет для последующей загрузки в реестр Cloud Registry.

Структура Python-пакетаСтруктура Python-пакета

Пример структуры проекта:

my_package/              # Корневая директория проекта
│
├── my_package/          # Основной пакет (имя должно совпадать с именем проекта)
│   ├── __init__.py      #   Делает директорию Python-пакетом
│   └── core.py          # Основной модуль (опционально)
│
├── tests/               # Директория для тестов
│   ├── __init__.py
│   └── test_core.py     # Тесты для core.py
│
├── README.md            # Описание проекта
├── LICENSE              # Лицензия
└── pyproject.toml       # Метаданные проекта

Создание пакетаСоздание пакета

pip + twine
Poetry
uv
  1. Подготовьте окружение:

    apt update && \
        apt-get install python3 -y && \
        apt-get install python3.12-venv -y && \
        python3 -m ensurepip --default-pip
    
  2. Установите инструменты для сборки:

    python3 -m venv my-venv && source my-venv/bin/activate
    pip install build twine
    
  3. Создайте структуру проекта:

    mkdir -p my_package/my_package
    cd my_package
    
  4. Создайте файл my_package/__init__.py:

    cat > my_package/__init__.py << 'EOF'
    def hello():
        print("Hello from my package!")
    EOF
    
  5. Создайте файл pyproject.toml:

    cat > pyproject.toml << 'EOF'
    [build-system]
    requires = ["setuptools"]
    build-backend = "setuptools.build_meta"
    
    [project]
    name = "my_package"
    version = "0.0.1"
    description = "A small example package"
    readme = "README.md"
    
    [project.scripts]
    my_package = "my_package:hello"
    EOF
    
  6. Создайте файл README.md:

    cat > README.md << 'EOF'
    # my_package
    A small example package.
    EOF
    
  7. Соберите пакет:

    python3 -m build
    

    Результат:

    Successfully built my_package-0.0.1.tar.gz and my_package-0.0.1-py3-none-any.whl
    

    Собранные файлы появятся в директории dist/.

  8. Проверьте пакет:

    twine check dist/*
    

    Результат:

    Checking dist/my_package-0.0.1-py3-none-any.whl: PASSED
    Checking dist/my_package-0.0.1.tar.gz: PASSED
    
  1. Установите Poetry:

    curl -sSL https://install.python-poetry.org | python3 -
    
  2. Создайте новый проект:

    poetry new my_package
    cd my_package
    

    Poetry автоматически создаст структуру проекта с pyproject.toml.

  3. Отредактируйте pyproject.toml:

    [tool.poetry]
    name = "my_package"
    version = "0.0.1"
    description = "A small example package"
    authors = ["Example Author <author@example.com>"]
    readme = "README.md"
    
    [tool.poetry.dependencies]
    python = "^3.9"
    
    [build-system]
    requires = ["poetry-core"]
    build-backend = "poetry.core.masonry.api"
    
  4. Создайте файл mypackage/__init__.py:

    def hello():
        return "Hello from my package!"
    
  5. Соберите пакет:

    poetry build
    

    Результат:

    Building my_package (0.0.1)
      - Building sdist
      - Built my_package-0.0.1.tar.gz
      - Building wheel
      - Built my_package-0.0.1-py3-none-any.whl
    
  1. Установите uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    Или через pip:

    pip install uv
    
  2. Создайте новый проект:

    uv init mypackage --lib && cd mypackage
    
  3. Создайте виртуальное окружение:

    uv venv && source .venv/bin/activate
    
  4. Создайте файл mypackage/__init__.py:

    cat > src/mypackage/__init__.py << 'EOF'
    def hello(name: str = "World") -> str:
        return f"Hello, {name}!"
    
    def add(a: int, b: int) -> int:
        return a + b
    EOF
    
  5. Соберите пакет:

    uv build
    

    Результат:

    Building my_package-0.0.1.tar.gz and my_package-0.0.1-py3-none-any.whl
    

Что дальшеЧто дальше

  • Загрузить Python-пакет в локальный реестр Cloud Registry
  • Скачать Python-пакет из реестра Cloud Registry
  • Примеры работы с PyPI-реестрами

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

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