SCROLL
Среднее время на прочтение: 2 мин.

Установка Python 3.11/3.10 из исходников в Debian 11

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 /opt

wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz
tar -Jxf Python-3.11.4.tar.xz

cd Python-3.11.4
Официальная страница загрузок Python — https://www.python.org/downloads/source/

Конфигурируем, собираем и устанавливаем пакет — Python.

./configure --prefix=/usr --enable-optimizations
make
make altinstall
cd ..

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

python3.11 --version
python3.11 -m pip --version

Сделаем Python 3.11 используемый по-умолчанию.

update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 100
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 110
Для возможности переключения между версиями Python, первой строкой с меньшим весом указываем версию Python 3.9 входящую в дистрибутив Debian 11, а второй строкой с большим весом указываем установленную версию Python 3.11.

Для переключения между версиями, выполняем команду и выбираем какую использовать по-умолчанию.

update-alternatives --config python3

There 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 mode

Press <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 python3

Name: python3
Link: /usr/bin/python3
Status: auto
Best: /usr/bin/python3.11
Value: /usr/bin/python3.11

Alternative: /usr/bin/python3.9
Priority: 100

Alternative: /usr/bin/python3.1
Priority: 110

Удалим из группы ссылок python3 запись о пакете python3.11, командой.

update-alternatives --remove python3 /usr/bin/python3.11

Обсуждение

0 комментариев

Нет комментариев.