Библиотеки Python: обзор самых популярных
Что такое библиотеки и пакеты Python, чем стандартная библиотека отличается от PyPI, как их устанавливать и какие популярные библиотеки выбрать под задачу.
Содержание · 7 разделов
- Модуль, пакет и библиотека: в чём разница
- Стандартная библиотека и PyPI
- Как установить библиотеку Python
- Имя для pip и имя для import
- Популярные библиотеки Python по направлениям
- Анализ данных и научные вычисления
- Веб-разработка и работа с сетью
- Базы данных и кеш
- Автоматизация и парсинг сайтов
- Изображения и компьютерное зрение
- Графический интерфейс (GUI)
- Игры
- Офисные документы
- Тестирование
- Машинное обучение и нейросети
- Как выбрать библиотеку
- Частые вопросы
- Где посмотреть, какие библиотеки установлены?
- Почему после pip install модуль не импортируется?
- Можно ли пользоваться библиотеками без интернета?
- Как создать свою библиотеку?
- С каких библиотек начать новичку?
- Итог
Библиотеки Python — это готовый код, который можно подключить к своей программе одной строкой import вместо того, чтобы писать всё с нуля: чтение Excel-таблиц, HTTP-запросы, обработку изображений, веб-сервер, нейросети. Часть библиотек уже встроена в Python (стандартная библиотека), остальные устанавливаются из каталога PyPI командой pip:
pip install requests # установить пакет из PyPI
import json # модуль стандартной библиотеки — ставить не нужно
import requests # сторонняя библиотека — после pip install
В обзоре — что такое модуль, пакет и библиотека, как устанавливать Python-пакеты и как найти нужный, а также таблицы самых популярных библиотек языка Python по направлениям: данные, веб, парсинг, изображения, GUI, игры, офисные документы, тесты и машинное обучение.
Модуль, пакет и библиотека: в чём разница
Эти слова часто используют как синонимы, но у них есть точные значения.
Модуль — один файл .py. Всё, что в нём объявлено (функции, классы, переменные), можно импортировать в другой файл:
# greetings.py
def hello(name: str) -> str:
return f"Привет, {name}!"
# main.py
import greetings
print(greetings.hello("Анна")) # → Привет, Анна!
Пакет — папка с модулями. Обычно в ней есть файл __init__.py, а импорт идёт через точку:
shop/
├── __init__.py
└── prices.py
from shop.prices import with_vat
Библиотека — неформальное название для набора модулей и пакетов, решающих общую задачу. pandas, requests или Django — это библиотеки, физически устроенные как пакеты.
Есть и четвёртое значение слова «пакет» — дистрибутив, то есть архив, который скачивает pip. Именно поэтому говорят «установить пакет»: вы ставите дистрибутив beautifulsoup4, а в коде импортируете пакет bs4. Имена для установки и для импорта не всегда совпадают — об этом ниже.
Стандартная библиотека и PyPI
Стандартная библиотека устанавливается вместе с интерпретатором — это сотни модулей «из коробки». Их не нужно ставить через pip, они доступны сразу после установки Python:
| Модуль | Для чего |
|---|---|
os, pathlib, shutil | файлы, папки, пути |
json, csv | чтение и запись JSON и CSV |
datetime, time | даты и время |
re | регулярные выражения |
math, random, statistics | математика, случайные числа, статистика |
collections, itertools | Counter, defaultdict, deque, итераторы |
sqlite3 | встроенная база данных SQLite |
urllib.request | простые HTTP-запросы |
logging | журналирование |
argparse | разбор аргументов командной строки |
subprocess | запуск внешних программ |
asyncio | асинхронное программирование |
unittest | тесты |
tkinter | графический интерфейс |
Какие модули пригодятся под конкретные задачи и что изменилось в последних версиях Python — в обзоре стандартной библиотеки Python. Полный список — в документации стандартной библиотеки. Проверить, входит ли модуль в стандартную библиотеку, можно и из кода (Python 3.10+):
import sys
print("json" in sys.stdlib_module_names) # → True
print("requests" in sys.stdlib_module_names) # → False
PyPI (Python Package Index, pypi.org) — официальный каталог сторонних пакетов, в котором сотни тысяч проектов. Всё, что не входит в стандартную библиотеку — pandas, requests, Django, NumPy, — скачивается оттуда. На PyPI для каждого пакета есть страница с описанием, версиями, лицензией и ссылками на документацию и исходный код.
Как установить библиотеку Python
Основной инструмент — pip, менеджер пакетов, который поставляется вместе с Python. Надёжнее всего вызывать его через интерпретатор — так пакет точно попадёт в тот Python, которым вы запускаете код:
# Windows
py -m pip install requests
# macOS / Linux
python3 -m pip install requests
Основные команды:
pip install pandas openpyxl # несколько пакетов сразу
pip install "django>=5.0,<6.0" # с ограничением версии
pip install --upgrade requests # обновить
pip uninstall requests # удалить
pip list # что установлено
pip show requests # версия, путь, зависимости пакета
pip freeze > requirements.txt # сохранить список зависимостей проекта
pip install -r requirements.txt # установить зависимости из файла
Подробно про pip, флаги и проблемы с PATH — в руководстве по pip, пошаговая инструкция для Windows, macOS и Linux — в статье как установить библиотеку в Python.
Совет: для каждого проекта создавайте виртуальное окружение. Тогда библиотеки одного проекта не конфликтуют с другим, а список зависимостей легко воспроизвести на сервере.
Имя для pip и имя для import
Иногда пакет в PyPI называется не так, как модуль, который вы импортируете. Это главная причина ошибки ModuleNotFoundError при попытке pip install cv2 или pip install sklearn:
Устанавливаете (pip install) | Импортируете (import) |
|---|---|
opencv-python | cv2 |
scikit-learn | sklearn |
beautifulsoup4 | bs4 |
Pillow | PIL |
python-pptx | pptx |
python-docx | docx |
PyYAML | yaml |
python-dotenv | dotenv |
torch | torch (проект PyTorch) |
Правильное имя для установки всегда указано на странице пакета в PyPI и в его документации. Если импорт падает, хотя пакет вроде бы установлен, — разбор причин в статье про ModuleNotFoundError.
Популярные библиотеки Python по направлениям
Ниже — библиотеки, которые чаще всего встречаются в вакансиях, учебных курсах и открытых проектах. Для каждой — команда установки и одна-две фразы о том, когда её брать.
Анализ данных и научные вычисления
| Библиотека | Установка | Для чего |
|---|---|---|
| NumPy | pip install numpy | Быстрые многомерные массивы и математика над ними. Фундамент для pandas, SciPy, OpenCV и ML-библиотек. |
| pandas | pip install pandas | Таблицы (DataFrame): чтение CSV и Excel, фильтрация, группировка, объединение и отчёты. |
| Matplotlib | pip install matplotlib | Графики и диаграммы: линейные, столбчатые, гистограммы; сохранение в PNG, SVG и PDF. |
| SciPy | pip install scipy | Научные вычисления: оптимизация, интегрирование, статистика, обработка сигналов. |
С pandas обычно начинают работу с данными: первые шаги — в статье pandas для начинающих. Типичная связка выглядит так: данные читают и чистят в pandas, считают в NumPy или SciPy, а визуализируют в Matplotlib. Какие задачи закрывают модули SciPy — оптимизация, интегралы, статистика, — показано в статье «SciPy: научные вычисления в Python».
import numpy as np
import pandas as pd
df = pd.DataFrame({"x": np.arange(5), "y": np.arange(5) ** 2})
print(df["y"].mean()) # → 6.0
Веб-разработка и работа с сетью
| Библиотека | Установка | Для чего |
|---|---|---|
| Django | pip install django | Фреймворк «всё включено»: ORM, миграции, шаблоны, аутентификация и готовая админка. |
| Flask | pip install flask | Минималистичный фреймворк: маршруты и шаблоны, остальное подключается расширениями. |
| FastAPI | pip install "fastapi[standard]" | Асинхронный фреймворк для API с автоматической документацией и валидацией через Pydantic. |
| Pydantic | pip install pydantic | Валидация данных и настроек по аннотациям типов. |
| requests | pip install requests | HTTP-клиент: GET и POST запросы к сайтам и API, заголовки, сессии, загрузка файлов. |
Чем фреймворки отличаются и какой выбрать — в обзоре веб-фреймворков Python и сравнении FastAPI, Django и Flask. Для старта: Django для начинающих, Flask, FastAPI, Pydantic. Клиентской стороне посвящена статья о библиотеке requests.
Базы данных и кеш
Для SQLite хватает встроенного модуля sqlite3, для остальных СУБД нужен отдельный драйвер из PyPI: например, psycopg для PostgreSQL или redis для Redis. Redis часто берут под кеш, очереди и хранение сессий. Подключение, работа с ключами и TTL и асинхронный клиент разобраны в статье «Redis в Python: библиотека redis-py».
Автоматизация и парсинг сайтов
| Библиотека | Установка | Для чего |
|---|---|---|
| BeautifulSoup | pip install beautifulsoup4 | Разбор HTML и XML: поиск тегов, атрибутов и текста. Сама страницы не скачивает — обычно используется вместе с requests. |
| Selenium | pip install selenium | Управление настоящим браузером: клики, ввод текста, страницы с JavaScript, автотесты интерфейса. |
Простое правило: если нужные данные есть в HTML-коде страницы, хватит requests и BeautifulSoup — это быстро и нетребовательно к ресурсам. Если контент подгружается скриптами или нужно действовать как пользователь (логин, прокрутка, кнопки), берите Selenium. Начиная с версии 4.6 Selenium сам скачивает драйвер браузера через встроенный Selenium Manager.
import requests
from bs4 import BeautifulSoup
html = requests.get("https://example.com", timeout=10).text
soup = BeautifulSoup(html, "html.parser")
print(soup.title.string) # → Example Domain
Перед парсингом проверьте условия использования сайта и файл robots.txt, не перегружайте сервер частыми запросами.
Изображения и компьютерное зрение
| Библиотека | Установка | Для чего |
|---|---|---|
| Pillow | pip install Pillow | Открыть, обрезать, повернуть, сжать изображение, сменить формат, добавить текст или водяной знак. |
| OpenCV | pip install opencv-python | Компьютерное зрение: фильтры, контуры, видео с камеры, поиск объектов. |
Для типовых операций с картинками (миниатюры, конвертация в WebP, подписи) достаточно Pillow. OpenCV нужен для анализа изображений и видео. Как поставить OpenCV, почему не работает pip install cv2 и что такое BGR — в статье OpenCV в Python.
Графический интерфейс (GUI)
| Библиотека | Установка | Для чего |
|---|---|---|
| Tkinter | входит в Python | Простые окна, кнопки, поля ввода и диалоги. Подходит для небольших утилит и учебных проектов. |
| PySide6 | pip install PySide6 | Официальная привязка Qt для Python: сложные настольные приложения с современным интерфейсом. |
Tkinter входит в стандартную библиотеку, но в некоторых дистрибутивах Linux его ставят отдельным системным пакетом (например, python3-tk в Debian и Ubuntu).
import tkinter as tk
root = tk.Tk()
root.title("Привет")
tk.Label(root, text="Первое окно на Tkinter").pack(padx=20, pady=20)
root.mainloop()
Игры
| Библиотека | Установка | Для чего |
|---|---|---|
| Pygame | pip install pygame | 2D-игры: окно, игровой цикл, спрайты, клавиатура и мышь, звук. Популярна в обучении. |
Pygame хорошо подходит, чтобы на практике разобраться с циклами, классами и обработкой событий. У pygame 2.6.1 нет готовых сборок для Python 3.14 и новее — на этих версиях ставьте совместимый форк pygame-ce (pip install pygame-ce), код при этом не меняется. Подробнее — в статье о Pygame. Для коммерческих 3D-игр Python обычно не используют.
Офисные документы
| Библиотека | Установка | Для чего |
|---|---|---|
| openpyxl | pip install openpyxl | Чтение и запись файлов Excel .xlsx: ячейки, формулы, стили, листы. |
| python-docx | pip install python-docx | Создание и редактирование документов Word .docx. |
| python-pptx | pip install python-pptx | Генерация презентаций PowerPoint .pptx: слайды, текст, таблицы, картинки. |
Если с Excel нужно не форматирование, а расчёты над данными, удобнее pandas: он читает и пишет .xlsx через openpyxl. Типичный сценарий автоматизации — собрать данные в pandas, сохранить отчёт в Excel и отправить презентацию, сгенерированную python-pptx.
Тестирование
| Библиотека | Установка | Для чего |
|---|---|---|
| pytest | pip install pytest | Тесты на обычных функциях с assert, фикстуры, параметризация, сотни плагинов. |
| unittest | входит в Python | Тесты в стиле классов (TestCase); на нём построен тестовый фреймворк Django. |
# test_prices.py — запуск командой: pytest
def with_vat(price, rate=0.2):
return round(price * (1 + rate), 2)
def test_with_vat():
assert with_vat(1000) == 1200.0
Фикстуры, параметризация, моки и настройка через pyproject.toml разобраны в руководстве «pytest: тестирование кода на Python».
Машинное обучение и нейросети
| Библиотека | Установка | Для чего |
|---|---|---|
| scikit-learn | pip install scikit-learn | Классическое машинное обучение: регрессия, классификация, кластеризация, подготовка признаков и оценка моделей. |
| PyTorch | pip install torch | Нейросети и глубокое обучение; популярен в исследованиях и при работе с языковыми моделями. |
| TensorFlow | pip install tensorflow | Фреймворк Google для глубокого обучения со встроенным высокоуровневым API Keras. |
Начинать стоит со scikit-learn: на табличных данных он решает большинство учебных и многие рабочие задачи. PyTorch и TensorFlow нужны для нейросетей — изображений, текста, звука. Для ускорения на видеокарте у них есть отдельные сборки — команду установки под свою систему подберите на официальных сайтах PyTorch и TensorFlow. Сравнение библиотек и первая модель с нуля — в статье «Машинное обучение на Python».
Как выбрать библиотеку
Для одной задачи часто есть несколько библиотек. Перед тем как добавить зависимость в проект, проверьте:
- Поддержка. Когда вышел последний релиз на PyPI, отвечают ли на issues в репозитории. Заброшенная библиотека — риск при обновлении Python.
- Совместимость. На странице пакета в PyPI есть строка «Requires: Python» с поддерживаемыми версиями интерпретатора. Узнать свою можно по инструкции как проверить версию Python.
- Документация. Есть ли руководство для начинающих и справочник API, а не только README.
- Лицензия. Для коммерческого проекта важно, разрешает ли она закрытое использование.
- Стандартная библиотека. Иногда внешний пакет не нужен вовсе:
json,csv,pathlib,sqlite3иurllib.requestзакрывают много простых задач.
Частые вопросы
Где посмотреть, какие библиотеки установлены?
Команда pip list выводит все пакеты текущего окружения с версиями, pip show имя_пакета — подробности об одном пакете, включая папку установки. Если вы работаете в виртуальном окружении, активируйте его перед проверкой.
Почему после pip install модуль не импортируется?
Почти всегда пакет установлен в другой Python: в системе их несколько, а в IDE выбран не тот интерпретатор или не активировано окружение. Устанавливайте через python -m pip тем же интерпретатором, которым запускаете скрипт. Вторая частая причина — разные имена для установки и импорта (таблица выше).
Можно ли пользоваться библиотеками без интернета?
Да. На машине с доступом к сети скачайте пакеты командой pip download -r requirements.txt -d packages, перенесите папку и установите: pip install --no-index --find-links packages -r requirements.txt. Версии Python и операционная система на обеих машинах должны совпадать, иначе скачаются неподходящие бинарные сборки.
Как создать свою библиотеку?
Начните с пакета — папки с модулями и __init__.py, как в примере выше. Чтобы устанавливать его через pip и публиковать на PyPI, добавьте файл pyproject.toml с описанием проекта и соберите дистрибутив — процесс описан в официальном Python Packaging User Guide. Пошаговый пример со структурой src, сборкой и публикацией через TestPyPI — в статье «Как создать свой пакет на Python и опубликовать в PyPI».
С каких библиотек начать новичку?
Сначала освойте стандартную библиотеку: pathlib, json, datetime, collections. Затем выбирайте по цели: для анализа данных — pandas и Matplotlib, для сайтов — Django или Flask, для API — FastAPI, для автоматизации — requests и openpyxl. Общий маршрут обучения — в статье Python для начинающих.
Итог
Библиотеки — главная причина, по которой на Python быстро пишутся и скрипты, и веб-сервисы, и модели машинного обучения. Стандартная библиотека доступна сразу, остальное ставится из PyPI командой python -m pip install — лучше в виртуальное окружение проекта. Продолжите с практических руководств кластера: pandas для таблиц, requests для HTTP-запросов и OpenCV для изображений. Все материалы раздела собраны на странице библиотек Python.
- #Python
- #Библиотеки
- #PyPI
- #pip
- #Пакеты