Гид по технологиям

Установка Python на Ubuntu: последняя версия

7 min read Руководство Обновлено 25 Dec 2025
Установка Python на Ubuntu: последняя версия
Установка Python на Ubuntu: последняя версия

Что в статье

  • Краткое руководство по трём подходам: deadsnakes PPA, сборка из исходников, pyenv/Docker.
  • Пошаговые команды, контрольные проверки и рекомендации по безопасности.
  • Чеклисты для разработчика и системного администратора, критерии приёмки, варианты устранения ошибок.

Введение

Ежегодно Python получает значительные обновления. Дистрибутивы Ubuntu часто поставляются с предустановленной версией, которая может отставать от официального релиза. Если вам нужна более новая версия Python (в примере — Python 3.12, выпущенный 2 октября 2023 года), этот материал объяснит варианты установки и риски каждого метода.

Кому что подходит

  • Если нужно быстро получить новую версию для разработки на рабочей станции — используйте deadsnakes PPA или pyenv.
  • Если вы управляете сервером с критичными системными скриптами — предпочтительнее pyenv для пользователей или сборка в /usr/local с altinstall; не меняйте системный /usr/bin/python.
  • Для изолированного запуска приложения используйте Docker-контейнер с нужной версией Python.

Шаг 1: Проверка текущей версии Python

Сначала убедитесь, какая версия Python уже установлена:

python3 --version

Версия Python, отображаемая в терминале Ubuntu

Команда выведет что-то вроде “Python 3.10.12”. Если это не та версия, которая вам нужна, переходите к способам установки ниже.

Шаг 2: Варианты установки последней версии Python на Ubuntu

Ниже — три основных подхода. Каждый имеет свои преимущества и ограничения.

Способ A — Быстро: deadsnakes PPA (рекомендуется для большинства пользователей)

PPA (Personal Package Archive) — сторонний репозиторий пакетов для Ubuntu. PPA deadsnakes содержит несколько версий Python, чаще обновляемых, чем стандартные репозитории Ubuntu.

  1. Добавьте репозиторий deadsnakes:
sudo add-apt-repository ppa:deadsnakes/ppa

Информация о PPA deadsnakes при добавлении репозитория

Когда будет предложено подтвердить добавление — нажмите Enter.

  1. Обновите индекс пакетов:
sudo apt update
  1. Установите нужную версию (пример для 3.12):
sudo apt install python3.12

Установка Python 3.12 из PPA deadsnakes в терминале

  1. Запустите установленную версию явно:
python3.12

Запуск python3.12 в терминале

Важно: при установке через deadsnakes пакет python3 (символическая ссылка /usr/bin/python3) обычно не меняется автоматически. Если вы хотите сделать новую версию системной по умолчанию, используйте update-alternatives (описано в следующем разделе). Не меняйте /usr/bin/python (без суффикса) — это может нарушить системные скрипты.

Преимущества deadsnakes:

  • Быстро и просто.
  • Пакеты собраны для Ubuntu и включают зависимости.

Ограничения:

  • PPA — сторонний репозиторий (доверяйте его содержимому).
  • Может не содержать экспериментальных опций сборки, которые нужны для специфичных задач.

Способ B — Полный контроль: сборка Python из исходников

Сборка из исходников даёт полный контроль над опциями компиляции, местом установки и оптимизациями.

  1. Установите зависимости для сборки (одноразово):
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev liblzma-dev
  1. Скачайте исходники с официального сайта Python и распакуйте их в свою папку загрузок. На странице загрузок нажмите “Download Python <версия>”.

Кнопка загрузки исходников Python на официальном сайте

  1. Перейдите в каталог загрузок и распакуйте архив:
cd ~/Downloads
tar -xJf Python-3.12.0.tar.xz
cd Python-3.12.0

Команда tar распаковывает архив с исходниками Python

  1. Настройте сборку. Рекомендуется использовать –enable-optimizations и задать префикс, если вы не хотите заменять системный Python:
./configure --enable-optimizations --prefix=/usr/local

Скрипт configure подготавливает сборку Python

  1. Скомпилируйте и установите. Для ускорения используйте параллельную сборку и предпочитайте altinstall, чтобы не заменять /usr/bin/python3:
make -j$(nproc)
sudo make altinstall

Использование make altinstall создаст бинарник python3.12 в /usr/local/bin и не заменит системный python3.

Команда make install собирает Python из исходников

  1. Проверьте установку:
/usr/local/bin/python3.12 --version

Проверка версии Python после установки из исходников

Преимущества сборки из исходников:

  • Полный контроль над конфигурацией и оптимизациями.
  • Можно установить в произвольный префикс (/opt, /usr/local и т.д.).

Ограничения:

  • Длинный процесс сборки.
  • Необходимы зависимости и знания о возможных ошибках сборки.

Способ C — Изоляция: pyenv и Docker (для управления версиями без вмешательства в систему)

pyenv позволяет пользователю устанавливать и переключаться между версиями Python локально (в каталоге пользователя). Это безопасный способ для разработки.

Установка pyenv (кратко):

# зависимости (пример):
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev liblzma-dev

# быстрый установщик pyenv
curl https://pyenv.run | bash

После установки добавьте в ~/.bashrc / ~/.profile строки, которые предложит установщик, затем выполните:

exec $SHELL
pyenv install 3.12.0
pyenv global 3.12.0    # или pyenv local 3.12.0 для проекта

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

docker run -it --rm python:3.12 bash

Преимущества pyenv/Docker:

  • Не ломают системный Python.
  • Легко переключаться между версиями.
  • Подходят для тестирования и CI.

Ограничения:

  • pyenv требует установки зависимостей и настройки окружения.
  • Docker добавляет слои и требует знания контейнеризации.

Шаг 3: Сделать новую версию Python системной по умолчанию (опционально)

Если вы устанавливали через deadsnakes и хотите, чтобы python3 запускал новую версию, используйте update-alternatives:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1

Если в группе уже несколько альтернатив, выберите нужную вручную:

sudo update-alternatives --config python3

Выберите номер версии и нажмите Enter.

Важно: не меняйте /usr/bin/python (без 3). Многие системные утилиты Ubuntu ожидают конкретную версию Python; изменение /usr/bin/python может привести к поломке APT и других инструментов.


Что может пойти не так и как исправить

Частые проблемы и решения:

  • Ошибка сборки из-за отсутствующих заголовочных файлов (например, “_ssl” не найден): установите соответствующие -dev пакеты (libssl-dev, libbz2-dev и т.д.).
  • После установки через apt новая версия не запускается по python3: проверьте /usr/bin и update-alternatives.
  • Конфликты между пакетами system и user: используйте virtualenv/venv или pyenv.
  • PPA не содержит нужной версии для вашей версии Ubuntu: используйте сборку из исходников или Docker.

Совет по отладке: изучите вывод configure и make; там обычно указаны отсутствующие зависимости или ошибки компоновки.


Чеклисты

Чеклист для разработчика (локальная машина):

  • Проверил текущую версию python3 –version
  • Сделал резервную копию критичных виртуальных окружений (если нужно)
  • Установил через deadsnakes или pyenv
  • Проверил версию python3.12 –version или python3 –version после переключения
  • Протестировал проекты в venv с новой версией

Чеклист для системного администратора (сервер):

  • Оценил совместимость сервисов с новой версией
  • Не менял /usr/bin/python
  • Использовал altinstall или pyenv для пользователей
  • Создал план отката (на случай ошибок)
  • Тестировал обновления в staging перед production

Критерии приёмки

Чтобы считать установку успешной, выполните эти проверки:

  • Команда python3.12 –version возвращает ожидаемую версию.
  • При явном запуске python3.12 интерпретатор запускается без ошибок.
  • Системные утилиты работают (если вы не меняли /usr/bin/python).
  • Виртуальные окружения могут быть созданы и активированы для новой версии.

Решение: какой способ выбрать — быстрый поток принятия решения

flowchart TD
  A[Нужно Python для локальной разработки?] -->|Да| B{Хотите менять версии часто?}
  B -->|Да| C[pyenv]
  B -->|Нет| D{Требуется быстро и просто?}
  D -->|Да| E[deadsnakes PPA]
  D -->|Нет| F[Сборка из исходников с altinstall]
  A -->|Нет, сервер production| G{Можно тестировать в staging?}
  G -->|Да| F
  G -->|Нет| H[Использовать Docker или оставить системную версию]

Риски и способы минимизации

Риски:

  • Поломка системных пакетов при изменении /usr/bin/python.
  • Несовместимость зависимостей (C-расширения, бинарные wheels).
  • Непредвиденное поведение устаревшего кода в новой версии.

Митигаторы:

  • Использовать altinstall или pyenv вместо перезаписи системного python3.
  • Тестировать на staging и использовать виртуальные окружения.
  • Поддерживать список зависимостей (requirements.txt) и тесты для CI.

Короткие сценарии тестирования (Acceptance тесты)

  1. Установка через deadsnakes: после apt install python3.12 команда python3.12 –version должна вернуть 3.12.x.
  2. Сборка из исходников: /usr/local/bin/python3.12 запускается, а системный python3 не изменён.
  3. pyenv: pyenv local 3.12.0 задаёт версию для папки проекта; python –version в папке проекта показывает 3.12.0.
  4. Docker: docker run –rm python:3.12 python –version возвращает 3.12.x.

Короткий словарь терминов

  • PPA — сторонний репозиторий пакетов для Ubuntu.
  • altinstall — опция make install, которая устанавливает интерпретатор без замены системных ссылок python3.
  • pyenv — инструмент управления версиями Python для пользователей.
  • venv — встроенный в Python механизм создания виртуального окружения.

Часто задаваемые вопросы

Нужно ли удалять старые версии Python?

Нет, обычно старые версии можно оставить. Многие системы и проекты зависят от конкретной версии. Используйте виртуальные окружения и переключатели версий вместо удаления.

Безопасно ли использовать PPA deadsnakes?

Deadsnakes — широко используемый репозиторий, но это всё же сторонний источник. Используйте его на рабочей станции и проверяйте релизы; для серверов с повышенными требованиями предпочтительнее сборка из исходников или изолированные среды.

Как откатить установку, если что-то сломалось?

Если вы устанавливали из PPA, можно удалить пакет через apt и при необходимости удалить PPA. При сборке из исходников удалите файлы в префиксе (например, /usr/local) или используйте бэкап. Всегда имейте план отката и тестовый сервер.


Заключение

Установка последней версии Python на Ubuntu может быть простой (deadsnakes) или гибкой (сборка из исходников, pyenv). Выбор зависит от вашего сценария: удобство против полного контроля. В большинстве случаев для разработки достаточно deadsnakes или pyenv; для production — тестируйте и используйте изолированные окружения.

Важно: всегда тестируйте новую версию в отдельном окружении перед внедрением в критичные проекты.

Короткая шпаргалка: если нужно быстро — deadsnakes; для безопасного управления версиями — pyenv; для полного контроля — сборка и altinstall.


Если хотите — можно добавить инструкцию по установке pip-пакетов, настройке virtualenv и шаблон systemd unit для приложения под новой версией Python.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро