Python-update

Материал из WiKi - UserSide
Версия от 09:00, 13 декабря 2024; Uscld2 (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

en | ru

Если версия Python, установленная на вашей ОС, не поддерживается модулями или поллером, то необходимо установить дополнительно новую версию Python, удовлетворяющую всем требованиям.

Важно: Изменять системную версию Python на новую - не рекомендуется! Единственный правильный способ - это установить новую версию параллельно системной. Иначе могут перестать работать различные системные службы и утилиты, использующие Python.

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

sudo apt install -y python3-dev python3-pip python3-venv libffi-dev libssl-dev pkg-config

После того, как все установлено, зайдите на сайт https://www.python.org/downloads/source/ и скопируйте номер последней версии текущей ветки или предыдущей, если текущая ветка слишком свежая. Например, если последняя версия 3.13.1, то надежней все таки установить версию 3.12.8, т.к. сразу после выхода новой версии (3.13) есть вероятность того, что не все зависимые пакеты ее поддерживают.

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

PY_VER=3.12.8

Далее приведены команды, которые вы просто выполняете по одной, одну за другой, чтобы контролировать процесс и в случае ошибки не выполнять остальные команды. Копируйте по одной строке и выполняйте:

curl -o python.tgz "https://www.python.org/ftp/python/${PY_VER}/Python-${PY_VER}.tgz"
tar xzf python.tgz
cd Python-${PY_VER}
./configure --enable-optimizations
make -j $(nproc)
sudo -H make altinstall
curl -sS https://bootstrap.pypa.io/get-pip.py | sudo -H python3.12
cd ..
sudo rm -rf Python-${PY_VER} python.tgz

После выполнения всех этих действий у вас в системе будет установлена дополнительно еще одна версия Python. В данном случае это Python 3.12 а также инструмент pip тоже с версией 3.12. Системная версия Python изменена не будет и мы не рекомендуем ее изменять, так как некоторые системные компоненты могут быть зависимы от нее.

Чтобы использовать именно эту версию python и pip, вам нужно указывать целиком имена файлов, которые вы запускаете. Например:

python3.12 --version
pip3.12 --version

Теперь, чтобы создать виртуальное окружение для какого-либо модуля либо поллера, вам нужно использовать следующий синтаксис:

sudo python3.12 -m venv venv
sudo venv/bin/pip install -U pip wheel
и т.д.