Установка Python 3.11/3.10 из исходников в Debian 11
Python — это высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью.
Я ниже рассмотрю установку из исходников Python 3.11. В случае если необходима версия 3.10, то действия будут аналогичные приведенным ниже.
Установка
Устанавливаем необходимые пакеты зависимостей.
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.
./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
Для переключения между версиями, выполняем команду и выбираем какую использовать по-умолчанию.
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
Обсуждение
Нет комментариев.