Содержание
- FastAPI
- Django
- Flask
- aiohttp
- httpx
- pytest
- Faker
- responses
- NumPy
- pillow
- OpenCV
- TensorFlow
- PyTorch
- AIOgram
- Pyrogram
- asyncio
- pandas
- matplotlib
- BeautifulSoup
- Pydantic
- pydantic-settings
- SQLA
- keras
- theano
- Black
- Ruff
- mypy
- isort
- pygame
- Kivy
Для чего нужны библиотеки в Python
Библиотека — набор файлов, модулей, классов, функций, в которых реализован весь функционал решения конкретной проблемы. Благодаря им разработчику не приходится писать все с нуля: стандартные библиотеки Python сильно упрощают процесс разработки.
Для Python существует много полезных библиотек с открытым исходным кодом, которые можно найти в хранилище программного обеспечения PyPI.
Выбирая подходящую библиотеку, разработчик должен понимать:
- главную цель, особенности и область работы проекта;
- совместимость библиотеки с используемой версией Python;
- возможность конфликтов между выбранными библиотеками.
Как подключить библиотеку в Python
C помощью встроенного пакетного менеджера Pip для Python можно устанавливать сторонние библиотеки и пакеты, доступные в PyPI, клонировать несколько Git-репозиториев, а также управлять зависимостями проекта.
Библиотеки языка Python, написанные сторонними разработчиками, нужно устанавливать и подключать вручную.
- Откройте командную строку или терминал:
- на Windows нажмите кнопки Win + R, введя в открывшемся окне cmd;
- на Linux нажмите сочетание клавиш Ctrl + Alt + T;
- на macOS нажмите сочетание клавиш Cmd + Space, введя в открывшемся окне terminal.
- Создайте виртуальное окружение, введя в терминале команду python -m venv и имя папки, где будет находиться окружение: python -m venv venv.
- Активируйте виртуальное окружение (придется делать каждый раз при работе с проектом, но большинство сред разработки на Python делают это автоматически):
- Windows: source имя окружения/Scripts/activate;
- Linux и macOS: source имя окружения/bin/activate.
- Убедитесь, что pip установлен: введите в терминале pip --version. Если в выводе указано, что команда не найдена, можете полностью переустановить Python.
- Обновите Pip до последней версии, введя в терминале pip install -U pip.
- Скачайте нужную вам библиотеку: введите pip install и название библиотеки — pip install fastapi или pip install django.
- После полной загрузки пакета проверьте, правильно ли скачалась библиотека. Запустите команду pip show и введите имя библиотеки: pip show fastapi. Если выводится ошибка, попробуйте найти пути ее решения (в комментариях к ошибке указывается способ ее устранения).
![](https://bangbangeducation.ru/point/content/images/2024/02/01_------------------html.jpg)
FastAPI
![Логотип микрофреймворка fastapi](https://bangbangeducation.ru/point/content/images/2024/03/fastapi.jpg)
Асинхронный микрофреймворк для создания быстрых и легких по размеру веб-приложений на Python. Позволяет создавать отказоустойчивое и легко масштабируемое API и не навязывает никаких зависимостей или структуры проекта. Он поддерживает шаблонизатор jinja и проверку типов благодаря библиотеке Pydantic.
Устанавливается командой pip install fastapi # или poetry add fastapi.
Django
![Логотип фреймоворка django](https://bangbangeducation.ru/point/content/images/2024/03/django.jpg)
Наиболее распространенный фреймворк для разработки веб-серверов на Python. Он содержит большой набор правил и инструментов, чтобы ускорить создание продукта, поэтому разработчик может сосредоточиться на написании приложения, не нуждаясь в изобретении велосипеда. Основная идеология Django — скорость разработки, масштабируемость, большой набор инструментов, сообщество и безопасность.
Устанавливается командой pip install django # или poetry add django.
![](https://bangbangeducation.ru/point/content/images/2024/01/00_--------------------.jpg)
Flask
![Логотип микрофреймворка flask](https://bangbangeducation.ru/point/content/images/2024/03/flask.jpg)
Микрофреймворк для создания веб-приложений, которые очень хорошо разворачиваются на удаленной машине. Он не навязывает никаких зависимостей по используемым библиотекам и структуре проекта. Большое количество расширений и огромное сообщество пользователей делают процесс разработки проще.
Устанавливается командой pip install flask # или poetry add flask.
aiohttp
![Логотип библиотеки aiohttp](https://bangbangeducation.ru/point/content/images/2024/03/aiohttp.jpg)
Асинхронная библиотека для управления HTTP-серверами и клиентами, используя встроенный модуль asyncio в Python. Она поддерживает клиентскую часть HTTP-протокола и позволяет разворачивать серверные приложения и веб-сокеты. Библиотека не навязывает никаких зависимостей по структуре проекта и по списку используемых фреймворков.
Устанавливается командой pip install aiohttp # или poetry add aiohttp.
![](https://bangbangeducation.ru/point/content/images/2024/01/---------------------_----------------.jpg)
httpx
![Логотип микрофреймворка httpx](https://bangbangeducation.ru/point/content/images/2024/03/httpx.jpg)
Микрофреймворк, похожий на библиотеку requests, для обращения к API через протокол HTTP, который позволяет работать в синхронном и асинхронном режиме. Библиотека поддерживает современную версию протокола — HTTP2.
Устанавливается командой pip install httpx # или poetry add httpx.
Установка с поддержкой HTTP2: pip install “httpx[http2]” # или poetry add “httpx[http2]”.
pytest
![Логотип фреймворка pytest](https://bangbangeducation.ru/point/content/images/2024/03/pytest.jpg)
Мощный и популярный фреймворк для тестирования веб-приложений, консольных, десктопных, мобильных программ, который обеспечивает простоту написания, читабельность и гибкость тестов. Pytest поддерживает автоматическое обнаружение и выполнение тестов, интроспекцию, добавление плагинов и удобное разделение тестов по уровням.
Устанавливается командой pip install pytest # или poetry add pytest.
![](https://bangbangeducation.ru/point/content/images/2024/01/--------------1-.jpg)
Faker
![Логотип фреймворка faker](https://bangbangeducation.ru/point/content/images/2024/03/faker.jpg)
Популярная библиотека, которая используется в тестировании и решает проблему недостатка данных. Умеет генерировать реалистичные телефонные номера, ФИО, даты рождения, данные карточек, адреса почтовых ящиков, пароли, не прибегая к использованию настоящих персональных данных.
Устанавливается командой pip install faker # или poetry add faker.
responses
Библиотека имитирует ответы пользователя на запросы к серверу и часто используется в тестировании.
Устанавливается командой pip install responses # или poetry add responses.
![](https://bangbangeducation.ru/point/content/images/2023/12/----------------------Python_----------------------------------.png)
NumPy
![Логотип фреймворка NumPy](https://bangbangeducation.ru/point/content/images/2024/03/numpy.jpg)
Популярная библиотека, которая может обрабатывать сложные математические вычисления и работать с числами с высокой скоростью. NumPy умеет работать с матрицами и многомерными массивами, которые передаются в качестве входных данных для обучения искусственного интеллекта. Используется в основном специалистами Data Science и ML-инженерами.
Устанавливается командой pip install numpy # или poetry add numpy.
pillow
![Логотип библиотеки pillow](https://bangbangeducation.ru/point/content/images/2024/03/pillow.jpg)
Библиотека позволяет выполнять различные действия с картинками: фильтрацию, обрезку, избавление от шумов, повороты, анимацию, наложение, создание QR-кодов. Нужна для обучения компьютерного зрения в моделях искусственного интеллекта, чтобы перевести в понятный для машины формат данных.
Устанавливается командой pip install pillow # или poetry add pillow.
OpenCV
![Логотип библиотеки opencv](https://bangbangeducation.ru/point/content/images/2024/03/opencv.jpg)
Популярная библиотека Python для работы с компьютерным зрением, обработкой изображений, машинным обучением. Полезна в распознавании текста.
Устанавливается командой pip install opencv-python # или poetry add opencv-python.
TensorFlow
![Логотип фреймворка tensorflow](https://bangbangeducation.ru/point/content/images/2024/03/tensorflow.jpg)
Библиотека для глубокого обучения моделей нейросети. В основном используется для создания и обучения искусственного интеллекта.
Устанавливается командой pip install tensorflow # или poetry add tensorflow.
![](https://bangbangeducation.ru/point/content/images/2023/12/--------12.jpg)
PyTorch
![Логотип фреймворка pytorch](https://bangbangeducation.ru/point/content/images/2024/03/pytorch.jpg)
Фреймворк, альтернативный библиотеке TensorFlow, предоставляющий алгоритмы глубокого обучения и создания нейронных сетей.
Устанавливается командой pip install pytorch # или poetry add pytorch.
AIOgram
![Логотип фреймворка aiogram](https://bangbangeducation.ru/point/content/images/2024/03/aiogram.jpg)
Асинхронный фреймворк для разработки телеграм-ботов на Python, который постоянно актуализируется под новые изменения в Telegram Bot API. Поддерживает создание клавиатур, работу с контекстом диалога пользователя и бота, автоматический перевод сообщений на выбранный язык, удобную обработку команд, создание всевозможных фильтров, форматирование сообщений и работу с WebApp (приложениями, встроенными в телеграм-ботов).
Устанавливается командой pip install aiogram # или poetry add aiogram.
![](https://bangbangeducation.ru/point/content/images/2023/12/--------11.jpg)
Pyrogram
![Логотип клиента pyrogram](https://bangbangeducation.ru/point/content/images/2024/03/pyrogram.jpg)
Асинхронный клиент Telegram на Python, на котором можно создавать ботов, в том числе и пользовательских. Pyrogram предоставляет реализацию Telegram API и Telegram Bot API.
Устанавливается командой pip install pyrogram # или poetry add pyrogram.
asyncio
Встроенная библиотека языка Python с полным функционалом работы с асинхронным кодом. Является основополагающей для всех асинхронных библиотек. На asyncio можно писать операции I/O, работать с сокетами, асинхронно запускать задачи и писать конкурентный код, используя async/await.
Устанавливать не нужно: является встроенным модулем.
![](https://bangbangeducation.ru/point/content/images/2023/12/0.jpg)
pandas
![Логотип инструмента pandas](https://bangbangeducation.ru/point/content/images/2024/03/pandas.jpg)
Инструмент для работы с данными на Python с возможностями анализа, очищения, изучения и преобразования данных с помощью мощных структур данных. Реализует работу с табличными, текстовыми, матричными и статическими видами данных. Работает в связке с NumPy и matplotlib, группируя, сортируя, агрегатируя и визуализируя данные. Pandas используется также и для машинного обучения.
Устанавливается командой pip install pandas # или poetry add pandas.
matplotlib
![Логотип библиотеки matplotlib](https://bangbangeducation.ru/point/content/images/2024/03/matplotlib.jpg)
Библиотека для создания анимированных, статических и интерактивных визуализаций на Python, которая позволяет выводить и строить графики, а также управлять ими с помощью зума, обновления и панорамирования. Экспортирует данные в различные форматы и совмещает их с другими инструментами.
Устанавливается командой pip install matplotlib # или poetry add matplotlib.
BeautifulSoup
![Логотип библиотеки BeautifulSoup](https://bangbangeducation.ru/point/content/images/2024/03/beautifulsoup.jpg)
Библиотека для парсинга данных с HTML- и XML-разметок. С помощью нее можно автоматизировать процесс сбора информации со всех сайтов в интернете в Pythonic-стиле. BeautifulSoup используется среди аналитиков, ученых и разработчиков, которые собирают данные для обучения искусственного интеллекта.
Устанавливается командой pip install bs4 # или poetry add bs4.
Pydantic
![Логотип библиотеки для валидации данных pydantic](https://bangbangeducation.ru/point/content/images/2024/03/pydantic.jpg)
Одна из лучших и самых быстрых библиотек Python для валидации данных, логика которой написана на Rust. С помощью Pydantic можно быстро валидировать данные, исходя из наложенных фильтров, ограничений по возможному типу и формату данных.
Дает несколько методов использования встроенных аннотаций в Python и гарантирует, что валидируемые данные со 100% вероятностью соответствуют наложенным на них требованиям.
Устанавливается командой pip install pydantic # или poetry add pydantic.
![](https://bangbangeducation.ru/point/content/images/2023/12/pasted-image-0.png)
pydantic-settings
Мощная библиотека для работы с переменными окружения, с помощью которой можно автоматически валидировать тип переменной окружения. Также в нее встроена автоматическая проверка на существование переменной.
Устанавливается командой pip install pydantic-settings # или poetry add pydantic-settings.
SQLA
![Логотип фреймворка для работы с базами данных SQLA](https://bangbangeducation.ru/point/content/images/2024/03/sqlalchemy.jpg)
Самый популярный фреймворк для работы с базами данных на Python. На нем можно делать описания для ORM или использовать сырой SQL, удобно строить SQL-запросы, передавая во встроенные функции имена классов, где находится таблица. SQLA реализует автоматическую проверку этих запросов перед их исполнением для избежания SQL-инъекций. Позволяет работать с аннотациями типов, что сильно упрощает процесс разработки.
SQLA не зависит от того, какую базу данных вы используете: необходима лишь библиотека, осуществляющая подключение к протоколу СУБД и имеющая диалекты, которые можно написать самому.
Устанавливается командой pip install pydantic-settings # или poetry add pydantic-settings.
Keras
![Логотип библиотеки на Python keras](https://bangbangeducation.ru/point/content/images/2024/03/keras.jpg)
Модульная гибкая библиотека на Python, которая используется для разработки искусственного интеллекта в моделях машинного и глубокого обучения. Прекрасно работает в связке с TensorFlow и theano, что сильно уменьшает объем написанного кода.
Устанавливается командой pip install keras # или poetry add keras.
theano
![Логотип библиотеки theano](https://bangbangeducation.ru/point/content/images/2024/03/theano.jpg)
Библиотека, используемая для разработки искусственного интеллекта в моделях машинного и глубокого обучения, которая интегрируется с NumPy и графическими процессорами, что ускоряет ее примерно в 140 раз по сравнению с центральным процессором.
Устанавливается командой pip install theano # или poetry add theano.
![](https://bangbangeducation.ru/point/content/images/2023/09/IMG_3681--2--1-1.jpg)
Black
![Логотип инструмента Black](https://bangbangeducation.ru/point/content/images/2024/03/black.jpg)
Инструмент форматирования кода в удобочитаемом виде. Black позволяет программистам не задумываться над тем, как выглядит их код, и ускоряет процесс разработки.
Устанавливается командой pip install black # или poetry add black.
Ruff
Мощный линтер для Python, который определяет повторно использованные конструкции, дает советы об изменении кода и предупреждает о возникновении возможных угроз.
Устанавливается командой pip install ruff # или poetry add ruff.
mypy
![Логотип инструмента mypy](https://bangbangeducation.ru/point/content/images/2024/03/mypy.jpg)
Инструмент для проверки аннотаций типов. Собирает ошибки при написании предполагаемых типов данных и сокращает время на их исправление.
Устанавливается командой pip install mypy # или poetry add mypy.
isort
Библиотека, которая сортирует импорты других библиотек по стилю PEP8 и позволяет разработчикам модернизировать настройки сортировки.
Устанавливается командой pip install isort # или poetry add isort.
pygame
![Логотип библиотеки на Python для создания игр pygame](https://bangbangeducation.ru/point/content/images/2024/03/pygame.jpg)
Библиотека на Python для создания игр, которая использует SDL (Simple DirectMedia Layer). Код, написанный с ее использованием, легко переносится на другие операционные системы.
Устанавливается командой pip install pygame # или poetry add pygame.
Kivy
![Логотип библиотеки для создания мобильных приложений kivy](https://bangbangeducation.ru/point/content/images/2024/03/kivy.jpg)
Библиотека для создания мобильных приложений на Python с использованием NUI (Natural User Interface) и промежуточного языка kv или kivy. Позволяет описывать действия пользователей и создавать интерактивные приложения.
Устанавливается командой pip install kivy # или poetry add kivy.