Как обновить python на Ubuntu

Admin Linux, Python, Ubuntu

Обновление на новые версии это всегда «весело». Вместе с новым функционалом понадобится убрать устаревшие функции, обновить потерявшие совместимость модули и в целом проделать большую работу.

Подготавливаем данные с локальной версии

Сначала обновляем версию локально, тестируем. Фиксируем изменения всех зависимостей командой:


pip freeze > requirements.txt

Обновляем Ubuntu на сервере

Проверим версию Ubuntu:

cat /etc/*release

Обновим систему и пакеты в ней:

sudo apt update && sudo apt upgrade -y

Обновляем python на сервере

Проверить версию:

python3 -V

Если сразу запустить обновление, то возникнет ошибка:

sudo apt install python3.10
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Невозможно найти пакет python3.10
E: Не удалось найти ни один пакет с помощью шаблона «python3.10»

Сначала установим необходимые компоненты для добавления пользовательских PPA:

sudo apt install software-properties-common -y

Добавим PPA-репозиторий deadsnakes/ppa в список источников диспетчера пакетов APT:

sudo add-apt-repository ppa:deadsnakes/ppa -y

Запустим обновление APT для обновления менеджера пакетов — появится новый импортированный PPA:

sudo apt update

Теперь можем установить новую версию python 3.10:

sudo apt install python3.10

Проверим установленную версию:

python3.10 --version

Также проверим текущую версию по умолчанию:

python3 -V

Установим дополнительные модули стандартной библиотеки (venv):

sudo apt install python3.10-venv -y

Для расширений C:

sudo apt install python3.10-dev -y

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

sudo apt install python3.10-distutils -y
sudo apt install python3.10-lib2to3 -y
sudo apt install python3.10-gdbm -y
sudo apt install python3.10-tk -y

Многие дополнительные модули python нужны для работы библиотек, без них они не установятся и будут вылезать ошибки.

Меняем версию python в системе «по умолчанию»

По умолчанию python будет указывать на старую версию.

Например, Python 3 указывает на Python 3.8. Это значит, что когда мы запустим python3, он будет выполняться как python 3.8, мы же хотим выполнить его как python 3.10.

Для этого добавим альтернативы:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2

Выберем нужную сборку:

sudo update-alternatives --config python3

Устанавливаем новое окружение

Переименовываем старую директорию окружения (мы должны находится в директории сайта с виртуальным окружением):

mv venv venv-old-python-3.8

Затем в этой директории создаем новое виртуальное окружение:

python3 -m venv venv

Подтягиваем изменения:

git pull

Активируем оболочку:

source venv/bin/activate

Установим зависимости:

pip install --upgrade pip
pip install -r requirements.txt

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Как обновить python на Ubuntu"