Django-Admin.ru
Python · Библиотеки★ Руководство

Библиотеки Python: обзор самых популярных

Что такое библиотеки и пакеты Python, чем стандартная библиотека отличается от PyPI, как их устанавливать и какие популярные библиотеки выбрать под задачу.

Редакция Django-Admin.ru
· обновлено · 13 мин чтения

Содержание · 7 разделов
  1. Модуль, пакет и библиотека: в чём разница
  2. Стандартная библиотека и PyPI
  3. Как установить библиотеку Python
  4. Имя для pip и имя для import
  5. Популярные библиотеки Python по направлениям
  6. Анализ данных и научные вычисления
  7. Веб-разработка и работа с сетью
  8. Базы данных и кеш
  9. Автоматизация и парсинг сайтов
  10. Изображения и компьютерное зрение
  11. Графический интерфейс (GUI)
  12. Игры
  13. Офисные документы
  14. Тестирование
  15. Машинное обучение и нейросети
  16. Как выбрать библиотеку
  17. Частые вопросы
  18. Где посмотреть, какие библиотеки установлены?
  19. Почему после pip install модуль не импортируется?
  20. Можно ли пользоваться библиотеками без интернета?
  21. Как создать свою библиотеку?
  22. С каких библиотек начать новичку?
  23. Итог

Библиотеки 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, itertoolsCounter, 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-pythoncv2
scikit-learnsklearn
beautifulsoup4bs4
PillowPIL
python-pptxpptx
python-docxdocx
PyYAMLyaml
python-dotenvdotenv
torchtorch (проект PyTorch)

Правильное имя для установки всегда указано на странице пакета в PyPI и в его документации. Если импорт падает, хотя пакет вроде бы установлен, — разбор причин в статье про ModuleNotFoundError.

Популярные библиотеки Python по направлениям

Ниже — библиотеки, которые чаще всего встречаются в вакансиях, учебных курсах и открытых проектах. Для каждой — команда установки и одна-две фразы о том, когда её брать.

Анализ данных и научные вычисления

БиблиотекаУстановкаДля чего
NumPypip install numpyБыстрые многомерные массивы и математика над ними. Фундамент для pandas, SciPy, OpenCV и ML-библиотек.
pandaspip install pandasТаблицы (DataFrame): чтение CSV и Excel, фильтрация, группировка, объединение и отчёты.
Matplotlibpip install matplotlibГрафики и диаграммы: линейные, столбчатые, гистограммы; сохранение в PNG, SVG и PDF.
SciPypip 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

Веб-разработка и работа с сетью

БиблиотекаУстановкаДля чего
Djangopip install djangoФреймворк «всё включено»: ORM, миграции, шаблоны, аутентификация и готовая админка.
Flaskpip install flaskМинималистичный фреймворк: маршруты и шаблоны, остальное подключается расширениями.
FastAPIpip install "fastapi[standard]"Асинхронный фреймворк для API с автоматической документацией и валидацией через Pydantic.
Pydanticpip install pydanticВалидация данных и настроек по аннотациям типов.
requestspip install requestsHTTP-клиент: 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».

Автоматизация и парсинг сайтов

БиблиотекаУстановкаДля чего
BeautifulSouppip install beautifulsoup4Разбор HTML и XML: поиск тегов, атрибутов и текста. Сама страницы не скачивает — обычно используется вместе с requests.
Seleniumpip 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, не перегружайте сервер частыми запросами.

Изображения и компьютерное зрение

БиблиотекаУстановкаДля чего
Pillowpip install PillowОткрыть, обрезать, повернуть, сжать изображение, сменить формат, добавить текст или водяной знак.
OpenCVpip install opencv-pythonКомпьютерное зрение: фильтры, контуры, видео с камеры, поиск объектов.

Для типовых операций с картинками (миниатюры, конвертация в WebP, подписи) достаточно Pillow. OpenCV нужен для анализа изображений и видео. Как поставить OpenCV, почему не работает pip install cv2 и что такое BGR — в статье OpenCV в Python.

Графический интерфейс (GUI)

БиблиотекаУстановкаДля чего
Tkinterвходит в PythonПростые окна, кнопки, поля ввода и диалоги. Подходит для небольших утилит и учебных проектов.
PySide6pip 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()

Игры

БиблиотекаУстановкаДля чего
Pygamepip install pygame2D-игры: окно, игровой цикл, спрайты, клавиатура и мышь, звук. Популярна в обучении.

Pygame хорошо подходит, чтобы на практике разобраться с циклами, классами и обработкой событий. У pygame 2.6.1 нет готовых сборок для Python 3.14 и новее — на этих версиях ставьте совместимый форк pygame-ce (pip install pygame-ce), код при этом не меняется. Подробнее — в статье о Pygame. Для коммерческих 3D-игр Python обычно не используют.

Офисные документы

БиблиотекаУстановкаДля чего
openpyxlpip install openpyxlЧтение и запись файлов Excel .xlsx: ячейки, формулы, стили, листы.
python-docxpip install python-docxСоздание и редактирование документов Word .docx.
python-pptxpip install python-pptxГенерация презентаций PowerPoint .pptx: слайды, текст, таблицы, картинки.

Если с Excel нужно не форматирование, а расчёты над данными, удобнее pandas: он читает и пишет .xlsx через openpyxl. Типичный сценарий автоматизации — собрать данные в pandas, сохранить отчёт в Excel и отправить презентацию, сгенерированную python-pptx.

Тестирование

БиблиотекаУстановкаДля чего
pytestpip 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-learnpip install scikit-learnКлассическое машинное обучение: регрессия, классификация, кластеризация, подготовка признаков и оценка моделей.
PyTorchpip install torchНейросети и глубокое обучение; популярен в исследованиях и при работе с языковыми моделями.
TensorFlowpip 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
  • #Пакеты
↑ ↓ выборEnter открытьEsc закрыть