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

В этой заметке я покажу как собрать из исходников и установить Python на Linux. Я буду все действия производить на Ubuntu 20.04, но инструкция будет одинаково работать и на LinuxMint и Debian.

В моей Ubuntu по умолчанию установлен Python 3.8.10, я хочу установить более свежую версию, как же это сделать?

Подготовка

Обновляем список пакетов

sudo apt update

Устанавливаем все необходимое для сборки Питона из исходников

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

Дальше на странице https://www.python.org/downloads/source/ нужно сохранить ссылку на исходники нужной вам версии Python, например я возьму последнюю на данный момент версию Python 3.10.1

Скачивание исходников Python

С помощью wget скачиваем исходники в домашнюю директорию

sudo wget https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tgz

Далее разархивируем скаченный архив:

sudo tar -xf Python-3.10.1.tgz

Сборка Python в Linux из исходников

Перейдем в директорию с исходным кодом Python

cd Python-3.10.1

Далее нужно запустить скрипт конфигурации, он выполнит проверки на необходимые для сборки Python

./configure --enable-optimizations

Мы запускаем скрипт с параметром —enable-optimizations, он оптимизирует собираемый двоичный файл Python (правда это замедлит процесс сборки, https://docs.python.org/3/using/configure.html).

После выполнения скрипта нам остается запустить сам процесс сборки:

make -j 4

Параметром -j 4 я указал количество ядер процессора, узнать эту цифру можно командой nproc.

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

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

sudo make altinstall

Эта команда устанавливает наш Python рядом с предыдущими версиями, в будущем вы сможете выбирать какой версией пользоваться.

sudo make install

Эта команда установит новую версию Python поверх старых.

В данный момент я воспользовался первой командой altinstall .

Дожидаемся окончания процесса установки и проверяем:

python3.10 -V

В ответ получаем версию Python 3.10.1

Предыдущая версия python, установленная в Убунту 20.04 по умолчанию так же доступна, можно убедится в этом вызвав команду:

python3 -V

В ответ получаем версию Python 3.8.10

Теперь можно удалить архив с исходниками и папку куда мы их разархивировали:

sudo rm -Rf Python-3.10.1 Python-3.10.1.tgz

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

Хостинг для ваших проектов