Как установить Python на Ubuntu 24

Чтобы установить Python на Ubuntu, обычно ничего ставить не нужно: Python 3 входит в систему, на нём написаны инструменты самой Ubuntu. Добавить придётся pip и venv, а иногда ещё одну версию Python. Инструкция для Ubuntu 24.04 и 22.04, в ней же разобрана ошибка externally-managed-environment, которую pip показывает на 24.04.

Какой Python уже есть в Ubuntu

python3 --version

Ubuntu 24.04 ответит Python 3.12.3, Ubuntu 22.04 — Python 3.10.12. Команда называется python3, а не python. Чтобы python тоже запускал Python 3, поставьте маленький пакет python-is-python3:

sudo apt install python-is-python3

Не удаляйте и не заменяйте системный python3 и не переключайте его на другую версию через update-alternatives. На нём работают apt и другие системные программы, с другой версией они ломаются.

Установка Python на Ubuntu: pip и venv

pip ставит пакеты из PyPI, venv создаёт виртуальные окружения для проектов. В Ubuntu это отдельные пакеты:

sudo apt update sudo apt install -y python3-pip python3-venv python3 -m pip --version

Как исправить error: externally-managed-environment

В Ubuntu 24.04 установка пакета через pip вне виртуального окружения останавливается с ошибкой error: externally-managed-environment. Это PEP 668: системным Python распоряжается apt, а pip перезаписал бы пакеты, на которые опирается сама Ubuntu. В Ubuntu 22.04 такой ошибки нет, но совет тот же. Выход — своё виртуальное окружение для каждого проекта:

mkdir -p ~/myproject cd ~/myproject python3 -m venv .venv source .venv/bin/activate pip install requests

Пока окружение включено, приглашение начинается с (.venv), а python и pip работают без тройки. Пакеты ложатся в папку проекта .venv. Выйти из окружения — deactivate. Возвращаясь к проекту, снова включите окружение той же строкой с source.

  • Пакет нужен всей системе — поставьте его из Ubuntu, если он там есть, например: sudo apt install python3-requests
  • Нужна программа на Python (утилита для командной строки) — берите pipx, он даёт каждой программе своё окружение. Поставьте его: sudo apt install pipx Затем добавьте его папку в PATH: pipx ensurepath После этого программа ставится так: pipx install <имя>
  • Не добавляйте --break-system-packages. Этот флаг снимает защиту, и следующая установка через pip может сломать программы самого apt.

Как поставить другую версию Python через uv

uv — менеджер пакетов и версий Python от компании Astral. Он скачивает готовые сборки Python в домашнюю папку, без sudo, и не трогает системный Python. Команда установки — из документации uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Откройте новый терминал, чтобы uv появился в PATH. Затем поставьте Python 3.13 и создайте с ним окружение проекта:

uv python install 3.13 uv venv --python 3.13 source .venv/bin/activate python --version

uv создаёт .venv в текущей папке с нужной версией Python. Похожую работу делает pyenv, только он собирает Python из исходников. Какие пакеты для сборки нужны в Ubuntu, написано в его README.

Как поставить другую версию Python из deadsnakes

deadsnakes — PPA на Launchpad, который ведут добровольцы, а не Ubuntu и не разработчики Python. В нём версии Python, которых нет в вашем выпуске Ubuntu, в виде пакетов apt рядом с системной. На его странице прямо сказано, что исправления безопасности могут выходить с опозданием, так что на рабочих серверах — на свой риск.

sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install -y python3.13 python3.13-venv python3.13 --version

Новая версия запускается как python3.13, а python3 остаётся системным. Окружения с ней создаются как обычно:

python3.13 -m venv .venv

Частые проблемы с Python и pip

  • Command 'python' not found, did you mean: — в Ubuntu есть только python3. Пишите python3 или поставьте python-is-python3.
  • The virtual environment was not created successfully because ensurepip is not available. — не установлен venv. Поставьте его: sudo apt install python3-venv Для версии из deadsnakes нужен её собственный пакет, например python3.13-venv.
  • pip: command not found — поставьте python3-pip или работайте с pip внутри включённого окружения. Если просто pip не работает, запустите его через Python: python3 -m pip
  • ModuleNotFoundError: No module named для пакета, который вы ставили, — он попал в другое окружение. Включите .venv проекта и проверьте, что этот путь ведёт внутрь него: which python

Если вы работаете и на Mac

MacWashing, раздел «Сборка мусора»: найдены мусор Xcode, пользовательский кэш, установщики и журналы, к очистке 22,83 ГБ

Сборка мусора в MacWashing находит кэш всех знакомых ей программ, в том числе спрятанный внутри их данных, а ещё журналы, мусор Xcode и остатки удалённых программ. Она показывает, сколько места занимает каждая находка, и очищает всё за один раз. Всё спорное остаётся без галочки, пока вы не решите.

Бесплатная пробная версия · macOS 14 и новее

Вопросы и ответы

Как установить Python на Ubuntu?

Python 3 уже есть. Проверьте: python3 --version Добавьте pip и venv: sudo apt install python3-pip python3-venv Пакеты для проектов ставьте в виртуальное окружение.

Можно просто запустить sudo pip install?

Нет. Так пакеты попадут в системный Python, которым управляет apt, да и pip в Ubuntu 24.04 откажется. Для проектов — venv, для системных пакетов — apt, для программ — pipx.

Что лучше для новой версии Python — uv или deadsnakes?

uv работает в домашней папке, не просит sudo и знает все актуальные версии. deadsnakes даёт пакеты apt для всей системы, но это сторонний PPA без обещаний быстрых исправлений безопасности.