Python является одним из наиболее популярных языков программирования, который используется для разработки приложений практически для любого вида. От административных скриптов, автоматизации до web и мобильных приложений – во всех этих областях число разработчиков Python постоянно растет быстрыми темпами.
Одной из лучших вещей в Python является большое количество Python модулей, которые охватывают почти все области программирования.
Причиной, по которой так много модулей Python является то, что модуль очень легко написать один раз, и сделать его доступным в любом месте, используя менеджеров пакетов
Рассмотрим, как создать простой модуль и развернуть его на менеджера пакетов PyPI.
Создание простого модуля
Начнем с создания следующей структуры каталогов:
Любой модуль имеет файл __init__.py. Он может быть пустым или содержать некоторый код инициализации. В этом примере он остается пустым.
Файл mymath.py содержит код реализации модуля:
Для этого простого примера использованы две простые функции, но вы можете определить что угодно в модуле Python или использовать другие модули
Теперь мы можем протестировать модуль:
И мы можем использовать его так же, как в mytest.py.
Развертывание модуля
Если мы хотим развернуть модуль, чтобы все могли его использовать, мы должны использовать менеджер пакетов. Самым популярным вариантом для питона PyPi.
Мы храним код на GitHub и развертывание пакета на PyPi
Первый шаг – создать репозиторий GitHub
Сначала регистрируемся на GitHub (если Вы еще этого не сделали) и создаем новый репозиторий.
Используя командную строку в корневой директории, выполняем:
Мы готовы использовать PyPi.
Сначала нужно создать учетную запись на тестовых и production сайтах PyPi
Используйте один и тот же email и пароль:
.pypirc file
Создайте вот такой файл в Вашей домашней директории (~) и сохраните логин и пароль внутри:
В корневом каталоге необходимо поместить 2 файла: setup.py, setup.cfg:
setup.cfg:
setup.py:
from distutils.core import setup
setup(
name = 'pysimplib',
packages = ['pysimplib'], # this must be the same as the name above
version = '0.1',
description = 'A tutorial lib',
author = 'Liran BH',
author_email = 'liran@discoversdk.com',
url = 'https://github.com/DiscoverSDK/pysimplib',
download_url = 'https://github.com/DiscoverSDK/pysimplib/tarball/0.1',
keywords = ['add', 'sub', 'tests'],
classifiers = [],
)
Обратите внимание, что это версия 0.1, так что нам нужно создать тэги на GitHub:
Теперь можно обновить лицензионный файл (MIT или аналог).
Публикация в PyPi:
Тестирование нашего модуля.
Сначала нужно установить модуль:
Все готово, модуль можно использовать:
Все файлы использованные в этой статье можно найти здесь.