Рубрики
SOFTWARE Вольер с пингвинами

Raspberry PI 4: обновление Python

На данный момент имеется проблема: стандартных репозиториях имеется только версия Python 3.7, а для работы понадобится Python 3.8. В данной заметке будет рассмотрено обновление Python из исходных текстов с официального сайта.

Перед началом сборки следует убедиться наличии и актуальности версии зависимых пакетов. Сделать это можно командой:

sudo apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev

Далее необходимо скачать версию Python с сайта python.org (гиперссылка ведет на хранилище с директориями). Автору необходима версия 3.8 дальнейшие действия рассмотрим на примере этой версии. Выполним команду:

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

После загрузки распакуем скачанный архив и перейдем в директорию с исходными текстами программы:

tar xf Python-3.8.7.tar.xz
cd Python-3.8.7

После распаковки необходимо выполнить команды сборки и установки, так как процесс не быстрый — можно пойти попить чай. Выполним команды:

./configure --prefix=/usr/local/opt/python-3.8.7 --enable-optimizations
make -j 4
sudo make altinstall

После установки могут возникнуть ошибки, указывающие, что нужно обновить переменную среды PATH:

  WARNING: The script easy_install-3.8 is installed in '/usr/local/opt/python-3.8.7/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script pip3.8 is installed in '/usr/local/opt/python-3.8.7/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Для этого выполним команду обновления ссылки на python3 для вызовов в консоли:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/opt/python-3.8.7/bin/python3.8 1

sudo update-alternatives --install /usr/bin/python python /usr/local/opt/python-3.8.7/bin/python3.8 1

sudo update-alternatives --config python
sudo update-alternatives --config python3

Помимо этого у автора существует странная ссылка на python 3.9 которая вызывает 3.7. Исправить это можно командой. Обнаружить это можно командой:

whereis python

Исправим это командой:

sudo cp /usr/bin/python /usr/local/bin/python3.9

Теперь можно удалить папку с исходниками:

cd ..
sudo rm -rf Python-3.8.7 Python-3.8.7.tar.xz

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.