Глава 2 · Давайте установим Python!

Установка Python на Linux

Linux — полноценная платформа первого класса для Python, со своими правилами хорошего тона: системный менеджер пакетов и обязательные виртуальные окружения.

Linux — такая же первоклассная платформа для Python, как Windows и macOS, и во многих профессиональных командах именно Linux — основная рабочая система (а ещё почти все серверы, на которых работает ваш будущий код, тоже Linux). Как и macOS, большинство дистрибутивов Linux уже включают системный Python — и здесь действует то же правило: не трогайте системный Python.

PEP 668: «externally-managed-environment»
На современных дистрибутивах (Ubuntu 23.04+, Debian 12+ и других) команда pip install без виртуального окружения специально откажется работать и покажет ошибку error: externally-managed-environment. Это не баг — это защита, описанная в официальном стандарте PEP 668, чтобы вы случайно не сломали системные инструменты, которые тоже написаны на Python. Правильный ответ на эту ошибку — не «обойти» её флагом, а создать виртуальное окружение (раздел 2.10) и ставить пакеты туда.

Установка через менеджер пакетов

На Linux Python принято устанавливать через системный менеджер пакетов дистрибутива, а не скачивать установщик отдельно — это стандартный, официально рекомендуемый способ.

Debian / Ubuntu
sudo apt update
sudo apt install python3 python3-venv python3-pip
Fedora
sudo dnf install python3 python3-pip
Arch Linux
sudo pacman -S python python-pip
Зачем отдельно ставить python3-venv?
На Debian/Ubuntu модуль для создания виртуальных окружений иногда выносят в отдельный пакет python3-venv — без него команда python3 -m venv (раздел 2.11) не сработает. Если вы планируете использовать виртуальные окружения (а мы будем), поставьте его сразу.

Проверка установки

bash
python3 --version
pip3 --version

Почему это так строго на Linux

Сама операционная система на Linux нередко написана частично на Python и использует системный интерпретатор для своих инструментов (менеджера пакетов, системных утилит). Если вы командой pip install без окружения замените версию библиотеки, от которой зависит сама система, — можно сломать что-то важное в ОС. PEP 668 — это общеотраслевой стандарт, который защищает именно от этого сценария, а не прихоть конкретного дистрибутива.

Практический вывод
На Linux правило «всегда работайте внутри виртуального окружения» — не совет, а во многих случаях техническое требование. Хорошая новость: как только вы освоите виртуальные окружения (раздел 2.10–2.12), это правило станет привычкой, а не препятствием.