Олег Марков
Сборка проекта с помощью packaging в Python
Введение
Правильная упаковка проекта на Python позволяет легко распространять его, управлять зависимостями и подключать сторонними пользователями или другими проектами. С помощью инструментов packaging создаются пакеты, которые можно публиковать на PyPI или использовать локально. В этой статье мы разберемся, как собрать и упаковать проект с помощью Python packaging.
Создание структуры проекта
Стандартная структура проекта для упаковки:
my_project/
│
├── my_package/
│ ├── __init__.py
│ └── module.py
├── tests/
│ └── test_module.py
└── setup.pysetup.py описывает метаданные проекта и зависимости.
Пример setup.py
from setuptools import setup, find_packages
setup(
name="my_project",
version="0.1",
packages=find_packages(),
install_requires=[
"requests",
],
author="Олег Марков",
description="Пример проекта с packaging в Python",
)setuptools помогает собрать проект и указать необходимые зависимости.
Для уверенной сборки проектов и управления зависимостями полезно изучить практические примеры и шаблоны packaging. Если вы хотите детальнее освоить создание, настройку и публикацию пакетов в Python — обратите внимание на курс Основы Python. На курсе 209 уроков, 34 упражнения, AI-тренажёры для практики 24/7, решение задач с живым ревью наставника и еженедельные встречи с менторами.
Сборка пакета
python setup.py sdist bdist_wheelЭта команда создаёт архивы пакета, которые можно загружать на PyPI или распространять локально.
Установка пакета локально
pip install .Команда устанавливает пакет из текущей директории в виртуальное окружение.
Частые ошибки
- Пропуск
__init__.pyв пакете. - Неверные пути в
setup.pyили отсутствиеfind_packages(). - Конфликты зависимостей при установке пакета.
- Попытка публикации без регистрации на PyPI.
Частозадаваемые вопросы
Что такое packaging в Python? Процесс подготовки и упаковки проекта для распространения и установки.
Можно ли устанавливать пакет локально?
Да, через pip install . из корневой директории проекта.
Зачем нужен setup.py? Он описывает метаданные проекта, пакеты и зависимости для установки и публикации.
Какие форматы пакета создаются?
sdist (архив исходного кода) и bdist_wheel (готовый бинарный пакет).
Заключение
Сборка проекта с помощью packaging в Python упрощает распространение кода, управление зависимостями и поддержку проекта. Использование правильной структуры проекта и инструментов packaging повышает удобство разработки и масштабируемость. Для закрепления навыков сборки и упаковки проектов рекомендуем курс Основы Python. В первых 3 модулях курса доступно бесплатное содержание, что позволяет сразу применять знания на практике и понять структуру курса до полного изучения.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев