Python — это высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью.
Я ниже рассмотрю установку из исходников Python 3.11. В случае если необходима версия 3.10, то действия будут аналогичные приведенным ниже.
Все действия ниже будут выполняться от root.
Установка
Устанавливаем необходимые пакеты зависимостей.
apt-get install build-essential pkg-config libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev -y
Скачиваем последнюю версию исходников Python и распаковываем их.
cd /optwget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xztar -Jxf Python-3.11.4.tar.xzcd Python-3.11.4Официальная страница загрузок Python — https://www.python.org/downloads/source/
Конфигурируем, собираем и устанавливаем пакет — Python.
./configure —prefix=/usr —enable-optimizationsmakemake altinstallcd ..
Для проверки успешной установки Python выполним команды, как результат должны вернутся версии установленных пакетов.
python3.11 —versionpython3.11 -m pip —version
Сделаем Python 3.11 используемый по-умолчанию.
update-alternatives —install /usr/bin/python3 python3 /usr/bin/python3.9 100update-alternatives —install /usr/bin/python3 python3 /usr/bin/python3.11 110Для возможности переключения между версиями Python, первой строкой с меньшим весом указываем версию Python 3.9 входящую в дистрибутив Debian 11, а второй строкой с большим весом указываем установленную версию Python 3.11.
Для переключения между версиями, выполняем команду и выбираем какую использовать по-умолчанию.
update-alternatives —config python3There are 2 choices for the alternative python3 (providing /usr/bin/python3). Selection Path Priority Status————————————————————* 0 /usr/bin/python3.11 110 auto mode 1 /usr/bin/python3.9 100 manual mode 2 /usr/bin/python3.11 110 manual modePress <enter> to keep the current choice[*], or type selection number:
Удаление
Для удаление Python собранного из исходников, то необходимо перейти в каталог с исходниками в котором выполнялась сборка и компиляция пакета и выполнить команду.
make uninstall
В случае если исходный каталог был удален, то можно вручную удалить файлы относящиеся к установленной версии.
cd /usr/local/bin && rm -f rm -f 2to3-3.11 idle3.11 pip3.11 pydoc3.11 python3.11 python3.11-config
Так же удалим из подсистемы update-alternatives символическую ссылку на удаленный пакет Python.
Выведем информацию о группе ссылок python3, командой.
update-alternatives —query python3Name: python3Link: /usr/bin/python3Status: autoBest: /usr/bin/python3.11Value: /usr/bin/python3.11Alternative: /usr/bin/python3.9Priority: 100Alternative: /usr/bin/python3.1Priority: 110
Удалим из группы ссылок python3 запись о пакете python3.11, командой.
update-alternatives —remove python3 /usr/bin/python3.112024-10-05T16:17:25Linux