Установка CPython из исходников
В статье приведено краткое пошаговое руководство по сборке CPython из исходников в чистой ОС Debian 13. Сборка на других платформах описана в официальном руководстве. Параметры скрипта configure описаны в документации Python.
Подготовка
Установка sudo
Наличие sudo зависит от выбранных при установке системы параметров. Если утилита не установлена, установим её и добавим текущего пользователя в группу sudo. Для этого понадобятся права пользователя root. Если sudo уже установлен, этот шаг можно пропустить.
su -
apt install sudo
adduser <user-name> sudo
exit
<user-name> — имя пользователя, под которым мы будем работать.
Чтобы изменения вступили в силу, нужно выйти из пользовательской сессии и войти заново.
Установка необходимых пакетов
Обновим пакетный индекс:
sudo apt update
Установим вспомогательные утилиты и инструменты сборки:
sudo apt install -y wget build-essential
Установим необходимые зависимости:
sudo apt install -y \
zlib1g-dev \
gdb \
lzma \
lcov \
libbz2-dev \
liblzma-dev \
libsqlite3-dev \
libssl-dev \
libffi-dev \
libreadline-dev \
libncurses-dev \
uuid-dev \
libgdbm-dev \
libgdbm-compat-dev \
pkg-config \
tk-dev \
libzstd-dev \
inetutils-inetd
Список пакетов составлен на основе официального руководства по сборке и немного адаптирован для Debian 13. Он включает зависимости, необходимые для сборки модулей стандартной библиотеки, а также инструменты разработки и тестирования CPython. Там же можно найти зависимости для других дистрибутивов.
Сборка
Теперь можно приступать к сборке. Первым делом скачаем исходники CPython:
cd
wget https://www.python.org/ftp/python/3.14.6/Python-3.14.6.tar.xz
Разархивируем архив:
tar xvf Python-3.14.6.tar.xz
cd Python-3.14.6
Для установки Python создадим в домашней директории каталог .python. Каждая версия интерпретатора будет храниться в отдельной поддиректории.
mkdir -p "$HOME/.python/3.14.6"
Произведём конфигурацию сборки. Каталог, в который будет установлен Python, указываем с помощью параметра --prefix.
./configure --enable-optimizations --prefix="$HOME/.python/3.14.6"
Явно указывать каталог установки полезно. В этом случае для удаления конкретной версии Python достаточно удалить соответствующую директорию. Если не указывать --prefix, файлы будут установлены в системные подкаталоги и нужно будет их оттуда вычищать вручную.
Запускаем сборку:
make -j"$(nproc)"
Проверим, что собранный интерпретатор запускается:
./python --version
Теперь скопируем собранные файлы в установочные каталоги:
make altinstall
Сборка завершена. Теперь Python доступен по пути $HOME/.python/3.14.6/bin/python3.14. Осталось выполнить несколько завершающих шагов.
CPython уже установлен на компьютере, но пока для его запуска приходится указывать полный путь: $HOME/.python/3.14.6/bin/python3.14. Не очень удобно. Чтобы запускать интерпретатор по имени python3.14, нужно добавить каталог с исполняемым файлом в PATH.
echo 'export PATH="$HOME/.python/3.14.6/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Теперь для запуска интерпретатора нужно просто ввести:
python3.14
Удалим архив и каталог с исходниками:
cd ..
rm Python-3.14.6.tar.xz
rm -rf Python-3.14.6/
Напоследок обновим pip:
python3.14 -m pip install -U pip
Все готово! Мы соблали интерпретатор CPython из исходников, установили его в нужную нам директорию и добавили директорию с исполняемым файлом в PATH. Интерпретатор готов к работе.