Обновление версии Python до актуальной
14 Oct 2024 | Автор: dd |При установке прокси сервера MTProto, а точнее модуля uvloop, получил ошибку, что для этого требуется питон выше версии 3.7, так что возникла необходимость проапгрейдить движок на более высокую актуальную версию. Для начала смотрим что у нас за версия питона
# python3 –version
Python 3.6.9
Ясно-понятно, переходим к обновлению. Сначала грейдим всю систему и добавляем репозиторий. В данном случае у меня все шуршит под Ubuntu
# apt update && apt upgrade -y
# add-apt-repository ppa:deadsnakes/ppa
# apt update
Смотрим, есть ли возможность установить питон 3.12, являющийся актуальным на момент написания статьи
# apt list | grep python3.12
если ничего не выводит, то понижаем версию, до момента когда выведет данные что пакет имеет место быть. У меня уперлось в 3.8
# apt list | grep python3.8
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
idle-python3.8/bionic-updates,bionic-updates,bionic-security,bionic-security 3.8.0-3ubuntu1~18.04.2 all
libpython3.8/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
libpython3.8-dbg/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
libpython3.8-dev/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
libpython3.8-minimal/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
libpython3.8-stdlib/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
libpython3.8-testsuite/bionic-updates,bionic-updates,bionic-security,bionic-security 3.8.0-3ubuntu1~18.04.2 all
python3.8/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
python3.8-dbg/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
python3.8-dev/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
python3.8-doc/bionic,bionic 3.8.12-1+bionic2 all
python3.8-examples/bionic-updates,bionic-updates,bionic-security,bionic-security 3.8.0-3ubuntu1~18.04.2 all
python3.8-minimal/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
python3.8-venv/bionic-updates,bionic-security 3.8.0-3ubuntu1~18.04.2 amd64
если видите какую то картину вроде этой, то значит ставим его
# apt install python3.8
Проверяем, что все встало как надо
# python3.8 –version
Python 3.8.0
Прописываем питон чтобы выводился по умолчанию установленный по дефолту
# echo “alias py=/usr/bin/python3″ >> ~/.bashrc
# echo “aliaspython=/usr/bin/python3″ >> ~/.bashrc
Устанавливаем новую версию 3.8 дефолтной, тут можно прописать и старый и любые другие версии, а можно добавить только последний
# update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.8 1
# update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.6.9 2
# update-alternatives –config python3
Ребутим сервер и смотрим результат:
# python –version
Python 3.8.0
Дальше пересобираем pip с нужной поддержкой
# apt remove –purge python3-apt
# apt autoclean
# apt install python3-apt
# apt install python3.8-distutils
# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# python3.8 get-pip.py
после чего уже нормально подтягивается изначальная задача с которой все и начиналось
# pip3 install uvloop