Сторонние библиотеки и pip

Сторонние библиотеки — это всё, что не входит в стандартную поставку Python: веб-фреймворки, библиотеки для анализа данных, ML, парсинга и тысячи других. Их устанавливают через pip — стандартный менеджер пакетов Python.

Что такое сторонние библиотеки?

Сторонние библиотеки — это модули Python, которые не входят в стандартную библиотеку и разрабатываются независимыми разработчиками или организациями.

Что такое pip?

pip (Package Installer for Python) — это система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python. Он скачивает пакеты из Python Package Index (PyPI), а также умеет обновлять, удалять и фиксировать версии зависимостей проекта.

Установка и использование pip

Обычно pip уже установлен вместе с Python. Проверить наличие и версию pip можно так:

pip --version

Примерный результат:

pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)

Основные команды pip

Установка пакета

pip install requests

Примерный результат:

Collecting requests
  Downloading requests-2.31.0-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 1.2 MB/s eta 0:00:00
Installing collected packages: requests
Successfully installed requests-2.31.0

Установка определенной версии

pip install requests==2.25.1

Примерный результат:

Collecting requests==2.25.1
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 1.8 MB/s eta 0:00:00
Installing collected packages: requests
Successfully installed requests-2.25.1

Список установленных пакетов

pip list

Примерный результат:

Package    Version
---------- ---------
certifi    2023.5.7
charset-normalizer 3.1.0
idna       3.4
pip        23.1.2
requests   2.31.0
setuptools 67.8.0
urllib3    2.0.3

Удаление пакета

pip uninstall requests -y

Примерный результат:

Found existing installation: requests 2.31.0
Uninstalling requests-2.31.0:
  Successfully uninstalled requests-2.31.0

Популярные сторонние библиотеки

Python имеет огромное количество сторонних библиотек для самых разных задач. Вот некоторые из наиболее популярных и полезных:

БиблиотекаОписаниеОсновное применениеСсылка
RequestsУдобная работа с HTTP-запросамиВзаимодействие с веб-ресурсами, APIДокументация
PandasМощный инструмент для анализа данныхОбработка и анализ табличных данныхДокументация
NumPyРабота с массивами и математическими вычислениямиНаучные вычисления, работа с массивамиДокументация
MatplotlibВизуализация данныхПостроение графиков и диаграммДокументация
SeabornСтатистическая визуализация данныхКрасивые статистические графикиДокументация
scikit-learnМашинное обучениеПостроение и обучение моделей машинного обученияДокументация
TensorFlowГлубокое обучение и нейронные сетиСложные модели глубокого обученияДокументация
PyTorchГлубокое обучение с динамическими вычислительными графамиИсследования в области глубокого обученияДокументация
FlaskМикрофреймворк для веб-разработкиСоздание веб-приложений и APIДокументация
DjangoПолнофункциональный веб-фреймворкКрупные веб-проектыДокументация
Beautiful SoupПарсинг HTML и XMLИзвлечение данных с веб-страницДокументация
PillowОбработка изображенийРедактирование и анализ изображенийДокументация
SQLAlchemyORM для работы с базами данныхВзаимодействие с SQL базами данныхДокументация
PygameСоздание игр и мультимедийных приложенийРазработка 2D игрДокументация
PyQtСоздание настольных приложенийГрафические интерфейсы (GUI)Документация

Выбор библиотеки зависит от конкретной задачи, которую вы хотите решить. Python-сообщество очень активно, и для большинства практических задач уже существуют готовые решения, которые можно установить через pip.

Пример установки популярной библиотеки:

# Установка pandas для анализа данных
pip install pandas

# Установка Flask для веб-разработки
pip install flask

Виртуальные окружения

Если ставить все библиотеки в системный Python, рано или поздно вы упрётесь в конфликт: один проект требует django 3.0, другой — django 4.2, а версия может быть только одна. Стандартная практика — заводить отдельное виртуальное окружение для каждого проекта.

Виртуальное окружение (venv) — это изолированная среда Python, в которой можно устанавливать пакеты, не влияя на другие проекты или системный Python.

Два проекта, у каждого своё venv с собственными версиями пакетов: django 3.0 + requests 2.20 в проекте A, django 4.2 + requests 2.31 в проекте B

Создание виртуального окружения

# Создание виртуального окружения
python -m venv myenv

# Активация виртуального окружения
# В Windows:
myenv\Scripts\activate

# В macOS/Linux:
source myenv/bin/activate

# После активации в начале командной строки появится имя окружения
(myenv) $

Установка пакетов в виртуальное окружение

# Устанавливаем пакеты в активированное виртуальное окружение
pip install pandas matplotlib

Сохранение и установка зависимостей

# Сохранение списка установленных пакетов
pip freeze > requirements.txt

# Содержимое файла requirements.txt будет выглядеть примерно так:
# matplotlib==3.7.2
# numpy==1.25.2
# pandas==2.0.3
# ...

# Установка пакетов из файла requirements.txt
pip install -r requirements.txt

Проверка понимания

Давайте проверим, насколько хорошо вы усвоили тему сторонних библиотек и pip:

Какая команда правильно установит пакет pandas версии 1.5.0?