Для начала скачиваем Python-3.13.7.tar.xz с сайта https://python.org по ссылке: https://www.python.org/ftp/python/3.13.7/Python-3.13.7.tar.xz
Распаковываем:
tar -xJf Python-3.13.7.tar.xz
cd Python-3.13.7
Теперь приступаем к сборке:
# Для начала создадим папку для сборки, чтобы не смешивать
# собранную программу с исходниками
mkdir build # Создаём папку
cd build # переходим в созданную папку
../configure # Запускаем конфигурацию
make # компилируем python
sudo make install # устанавливаем Python в систему
Команда make собирает программу из исходников в папку ~/Загрузки/Python-3.13.7/build/, а sudo make install - копирует собранную программу в систему.
Теперь у нас бинарник установился в /usr/local/bin
В скачанных исходниках у нас есть папка Doc. Чтобы собрать документацию можно выполнить одну из следующих команд:
make -C Doc html # соберёт документацию в HTML-формате
make -C Doc text # соберёт документацию в txt-формате
make -C Doc latex # соберёт документацию в LaTeX-формате
# После сборки HTML-файлы окажутся в папке Doc/build/html/
# Нужно в браузере открыть файл Doc/build/html/index.html
Но перед тем, как собрирать документацию, нам надо установить все необходимые зависимости, которые нужны для этой сборки. Эти зависимости перечислены в файле Doc/requirements.txt
# Создаём виртуальное окружение:
python3 -m venv venv
source venv/bin/activate # активируем его
# Ставим необходимые зависимости для сборки документации:
pip install -r requirements.txt
# Теперь собираем документацию:
make html # "-C Doc" можно пропустить - мы уже в папке "Doc"
# Выходим из виртуального окружения:
deactivate
# Теперь у нас собрана документация из HTML-файлов в Doc/build/html/
# Можно скопировать её в системное место:
sudo cp -r Doc/build/html/* /usr/local/share/doc/python3.13/html/
Если ещё остались исходники, можно сделать так:
sudo make uninstall
Если перед make install использовать sudo checkinstall, то он создаст пакет, который можно удалить как обычный (pacman -R).
sudo rm -rf /usr/local/bin/python3.13 /usr/local/bin/pip3.13
sudo rm -rf /usr/local/lib/python3.13
sudo rm -rf /usr/local/include/python3.13
sudo rm -rf /usr/local/lib/libpython3.13*
sudo rm -rf /usr/local/lib/pkgconfig/python-3.13.pc
sudo rm -rf /usr/local/share/man/man1/python3.13.1
sudo rm -rf /usr/local/share/doc/python3.13/ # Если мы копировали сюда документацию при установке
Чтобы не "засорять" систему, лучше ставить Python в отдельный каталог с помощью --prefix, например:
./configure --prefix=$HOME/opt/python3.13
make
make install
Тогда всё окажется в ~/opt/python3.13, и удалить будет очень просто:
rm -rf ~/opt/python3.13