Создание собственного Python-пакета#
с учетом версионирования и установки через pip install
🧱 1. Структура проекта#
Допустим, ты хочешь создать пакет nlp.
my_python_packages/
│
├── nlp/ ← основная папка с кодом пакета
│ ├── __init__.py
│ ├── cleaner.py
│ └── tokenizer.py
│
├── tests/ ← (опционально) тесты
│ └── test_cleaner.py
│
├── README.md ← описание пакета (видно на PyPI)
├── pyproject.toml ← конфигурация сборки
└── LICENSE ← лицензия (например MIT)
✍️ 2. Содержимое nlp/__init__.py#
from .cleaner import TextCleaner
from .tokenizer import simple_tokenize
__version__ = "0.1.0"
📦 3. Файл pyproject.toml (для build и pip)#
[project]
name = "nlp"
version = "0.1.0"
description = "Simple NLP tools like cleaner and tokenizer"
authors = [{name="Твоё Имя", email="you@example.com"}]
license = "MIT"
readme = "README.md"
requires-python = ">=3.7"
dependencies = []
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
🔨 4. Сборка и локальная установка#
Установка инструментов#
pip install build
Сборка пакета#
python -m build
В каталоге dist/ появятся .tar.gz и .whl файлы.
Установка локально через pip#
pip install dist/nlp-0.1.0-py3-none-any.whl
Теперь ты можешь использовать пакет в любом месте:
from nlp import TextCleaner
🔄 5. Обновление версии#
Каждый раз, когда добавляешь классы/методы:
Увеличь версию в
nlp/__init__.pyи вpyproject.tomlНапример:0.1.0→0.2.0Пересобери пакет:
python -m build
Установи новую версию:
pip install dist/nlp-0.2.0-py3-none-any.whl
💡 Совет: перед установкой новой версии лучше удалять старую:
pip uninstall nlp
🧪 (Опционально) Установка в editable-режиме для разработки#
Если ты хочешь разрабатывать и сразу видеть изменения:
pip install -e .
Это подключает текущую папку как пакет, и ты можешь редактировать код без пересборки.