Згідно з дослідженням Stackoverflow за 2023 рік, Python займає третє місце серед найпопулярніших мов програмування. Ця універсальність дозволяє використовувати його в різних сферах, включаючи аналіз даних, веб-розробку, машинне навчання, розробку програмного забезпечення та наукові обчислення.
Одним із ключових понять, з яким ви зіткнетесь під час вивчення Python, є “пакети”. Що ж таке пакети Python і як їх створювати?
Ця стаття охоплює наступні аспекти:
- Визначення поняття пакетів Python.
- Пояснення важливості пакетів Python у процесі програмування.
- Демонстрація процесу створення пакетів Python.
- Покажемо, як використовувати і тестувати пакети Python.
- Розглянемо, як завантажувати пакети Python в онлайн-ресурси.
Що таке пакети Python?
Пакети Python є фундаментальними елементами в розробці програмного забезпечення. Без них розробникам довелося б писати весь код з нуля, що зробило б процес програмування довгим і складним. По суті, пакети Python – це набори модулів Python, тобто колекції коду, придатного для багаторазового використання.
Модуль у Python — це файл, що містить Python-код, який можна імпортувати в інші програми. Щоб створити пакет Python, необхідно зберегти код у каталозі, що містить файл __init__.py
.
Пакет Python може включати інші пакети (вкладення), і в Інтернеті доступні тисячі різноманітних пакетів. Частина з них є офіційними, інші — ні. Більшість пакетів Python можна знайти на сайті https://pypi.org/.
Django, популярний веб-фреймворк Python, є прикладом пакета, який можна використовувати для створення веб-застосунків. Scikit-learn, PyTorch і TensorFlow є широко використовуваними пакетами в галузі машинного навчання.
Важливість пакетів Python
Чому б не розробляти все з нуля, будучи програмістом? Чи справді потрібні нам пакети Python? Ось кілька причин, чому пакети Python є важливими:
- Економія часу: Пакети Python надають доступ до попередньо написаного коду, який вирішує загальні проблеми. Використовуйте пакети Python, замість того, щоб створювати все спочатку, коли виникає потреба у написанні Python-скрипта.
- Спрощення розповсюдження коду: Співпраця є поширеною практикою в програмуванні. Створіть пакет Python, який члени вашої команди зможуть імпортувати під час роботи над спільним проєктом.
- Повторне використання коду: Якщо є блок коду, який вам постійно потрібно використовувати у своїх Python-програмах, запакуйте його і імпортуйте до своїх програм.
- Організація коду: Пакети Python дозволяють структурувати код у логічні модулі. Це полегшує читання та підтримку вашого Python-коду.
Як створити свій перший пакет Python
Як вже зазначалось, Python є універсальною мовою програмування. Розробники можуть створювати різноманітні пакети. Наприклад, ви можете мати пакет, який автоматизує певні завдання, пакет для управління бюджетом або навіть для вивчення нової мови. Але перед тим, як почати створювати свій перший пакет, переконайтеся, що у вас є наступні передумови:
Передумови:
- Python встановлений на вашому комп’ютері. Якщо ви використовуєте Linux, Python зазвичай встановлений разом з операційною системою. Ви можете скористатися командою
python --version
абоpython3 --version
, щоб перевірити наявність Python. Якщо Python встановлено, ви побачите щось подібне у вашому терміналі:
Якщо Python не встановлено, його можна завантажити з https://www.python.org/downloads/.
- Розуміння основ Python. Вам потрібно розуміти, як писати класи, модулі та функції Python.
- Менеджер пакетів. Для цієї демонстрації ми будемо використовувати pip. Перевірити його наявність можна командою:
pip --version
Якщо pip встановлено, ви побачите щось схоже у терміналі:
Вимоги можуть змінюватися залежно від типу пакета, який ви плануєте створити.
В рамках цієї демонстрації я створю простий Python-пакет, що перевіряє, чи є число простим. Ось покрокова інструкція:
- Крок 1: Створіть папку для проекту. Я назву її
primechecker
. - Крок 2: Усередині папки
primechecker
створіть іншу папку та назвіть їїprime
. - Крок 3: У папці
prime
створіть файлprime.py
. Виконайте наступну команду, щоб поєднати три кроки:
mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
- Крок 4: Відкрийте проект в редакторі коду. Додайте наступний код до файлу
prime.py
, що перевіряє, чи є число простим:
def is_prime(number): if number < 2: return False for i in range(2, int(number ** 0.5) + 1): if number % i == 0: return False return True
- Крок 5: В кореневій папці створіть новий файл та назвіть його
__init__.py
. Цей файл дозволить Python розпізнавати папку проекту як пакет.
Використайте наступну команду:
touch prime/__init__.py
- Крок 6: Перевірте свій код. Створіть файл
test.py
в кореневій папці, який перевірятиме, чи є число простим. Перейдіть до головної папки та скористайтеся командою:
touch test.py
Додайте наступний код до цього файлу:
from prime.prime import is_prime number = int(input("Введіть число: ")) result = is_prime(number) print(f"{number} є простим: {result}")
Виконайте наступну команду для перевірки коду:
python3 test.py
Тепер ви можете ввести число та перевірити, чи є воно простим.
Наприклад, я перевірив, чи є 5 і 1 простими числами, і отримав такий результат:
Як завантажити пакет в онлайн-ресурси
Ви можете розмістити створений пакет на PyPI (Python Package Index). Це центральний репозиторій, що містить тисячі пакетів Python. Перейдіть на сторінку https://pypi.org/ і створіть обліковий запис, якщо його у вас ще немає.
Виконайте ці кроки, щоб завантажити свій пакет в онлайн:
- Крок 1: Створіть новий файл в кореневій папці (в моєму випадку це
primechecker
) і назвіть йогоsetup.py
. - Крок 2: Змініть вміст файлу
setup.py
, додавши інформацію про пакет, який ви хочете завантажити.
Код цього файлу має виглядати так:
from setuptools import setup, find_packages setup( name="primechecker", version='1.0.0', author="Your Name", author_email="[email protected]", description='Пакет для перевірки простих чисел', packages=find_packages(), )
Змініть ім’я, автора, електронну адресу автора та опис відповідно до деталей вашого пакета.
- Крок 3: Створіть свій пакет. Виконайте цю команду, перебуваючи в кореневій папці:
python3 setup.py sdist bdist_wheel
Перевіривши папку проєкту, ви побачите дві нові папки (build і dist) в кореневій папці.
- Крок 4: Встановіть Twine. Це необхідний пакет для завантаження пакетів на PyPI.
Використайте цю команду:
pip install twine
- Крок 5: Завантажте пакет.
Використайте цю команду:
twine upload dist/*
Вам буде запропоновано ввести ім’я користувача та пароль. Якщо назва вашого пакету ще не використовується, пакет буде опубліковано в онлайн, і ви отримаєте посилання в терміналі.
Пакет, який ви щойно опублікували, стане загальнодоступним. Кожен, хто захоче його використати, зможе завантажити його за допомогою pip.
Наприклад, пакет, який я опублікував, можна завантажити наступним чином:
pip install primechecker==1.0.0
Найкращі методи створення пакетів Python
- Дотримуйтесь стандартів пакетів Python: Навіть якщо ви самі вирішуєте, який тип пакету створювати, пам’ятайте, що пакети Python мають стандарти, яких потрібно дотримуватися. Перевірте ці стандарти на https://packaging.python.org/ перед тим, як починати писати код.
- Перевіряйте пакет перед розгортанням: У процесі програмування часто виникають помилки. Створюйте сценарії для автоматизованого тестування, особливо при розробці великих пакетів. Це гарантує, що ви завантажуєте пакет без помилок.
- Управління версіями: Якісний пакет повинен відповідати семантичному контролю версій. Пакет, що створювався під час демонстрації, мав версію 1.0.0. Перша цифра (1) – це основна версія, друга (0) – додаткова, а остання цифра (0) – це виправлення.
- Вказуйте всі залежності: Залежно від призначення, ваш пакет може мати різні залежності або інші пакети. Вкажіть їх в описі під час завантаження. Використовуйте інструменти на кшталт setuptools або poetry для додавання залежностей та управління ними.
- Використовуйте систему контролю версій: Програмування – це безперервний процес. Ви можете оновлювати або покращувати свій пакет, додаючи нові функції або підвищуючи ефективність. Ви також можете запрошувати співавторів. Завантажуйте код свого пакета на платформи, такі як GitHub або GitLab, щоб зробити його доступним та заохотити до співпраці.
- Документуйте свій код: Пакет, створений під час демонстрації, має на меті показати основні принципи. Однак, якщо ви маєте намір поділитися пакетом з іншими користувачами, необхідно створити документацію, яка допоможе їм у роботі з ним. Використовуйте інструменти, наприклад Pydoc або Sphinx, для створення документації.
Де ще можна завантажити пакети Python?
Python Package Index (PyPI) є офіційним репозиторієм для пакетів Python, але це не єдине місце, де їх можна розміщувати. Визначаючи, куди завантажити пакет Python, враховуйте такі фактори, як розмір файлів, характер пакета, необхідний рівень підтримки та цільова аудиторія.
Ось інші місця, куди можна завантажити ваші Python-пакети:
- GitHub: GitHub є найбільшою платформою для розміщення коду. Ви можете створити репозиторій та додати свій пакет Python як zip-файл для повторного розповсюдження.
- Conda: Conda – це менеджер пакетів, що можна використовувати для ваших пакетів Python. Ця платформа є популярною серед фахівців з аналізу даних. Створіть обліковий запис на Conda та починайте завантажувати свої пакети для подальшого використання.
- Дзеркала PyPI: Існує багато дзеркал PyPI, що відображають вміст платформи PyPI. Виберіть те, що відповідає вашим потребам для розміщення пакету.
Висновок
Тепер ви можете створювати пакети Python і публікувати їх онлайн. Наведений приклад був базовим, але ви можете експериментувати та створювати складніші пакети. Завжди пам’ятайте про правильну структуру папок під час створення пакетів Python.