Как создать пакет Python и опубликовать его

Создание и публикация пакета Python позволяет вам делиться своим кодом с более широким сообществом Python. В этом руководстве мы рассмотрим шаги по созданию пакета Python и его публикации в Python Package Index (PyPI), где другие смогут легко установить и использовать его.

Настройка вашего проекта

Прежде чем начать, убедитесь, что в вашей системе установлен Python. Вам также понадобится установить пакеты setuptools и wheel, если вы еще этого не сделали:

pip install setuptools wheel

Создание структуры пакета

Создайте новый каталог для вашего проекта пакета. Внутри этого каталога создайте следующую структуру:

your_package/
    your_package/
        __init__.py
        module1.py
        module2.py
    tests/
        __init__.py
        test_module1.py
    setup.py
    README.md
    LICENSE

Вот краткий обзор этих файлов:

  • your_package/__init__.py: Помечает каталог как пакет Python.
  • your_package/module1.py и your_package/module2.py: Модули вашего пакета.
  • tests/: Каталог тестовых случаев вашего пакета.
  • setup.py: Скрипт сборки вашего пакета.
  • README.md: Файл, объясняющий, что делает ваш пакет.
  • ЛИЦЕНЗИЯ: Файл лицензии вашего пакета.

Написание сценария установки

Файл setup.py необходим для определения метаданных и зависимостей вашего пакета. Вот простой пример:

from setuptools import setup, find_packages

setup(
    name='your_package',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[
        # List your package dependencies here
    ],
    description='A brief description of your package',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    url='https://github.com/yourusername/your_package',
    author='Your Name',
    author_email='your.email@example.com',
    license='MIT',
)

Создание файла README

Файл README.md должен предоставить обзор вашего пакета, включая то, как его установить и использовать. Вот пример:

# Your Package

A brief description of your package.

Установка

pip install your_package

Использование

import your_package

# Example usage

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

Перейдите в каталог вашего проекта и выполните следующую команду для сборки пакета:

python setup.py sdist bdist_wheel

Эта команда создает архивы дистрибутивов в каталоге dist/.

Публикация в PyPI

Для публикации вашего пакета вам нужна учетная запись на PyPI. Если у вас ее нет, создайте ее на PyPI.

Далее установите пакет twine:

pip install twine

Используйте twine для загрузки вашего пакета в PyPI:

twine upload dist/*

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

Заключение

Поздравляем! Вы создали и опубликовали свой пакет Python. Другие могут установить его с помощью pip, а вы можете продолжать обновлять и улучшать его. Не забывайте поддерживать свой пакет, обновляя номер версии и загружая новые релизы по мере внесения изменений.